Ignore:
Timestamp:
Jan 12, 2026, 3:22:42 PM (4 weeks ago)
Author:
yann meurdesoif
Message:

Adapt some of surf_land_orchidee interface to newly GPU porting.

Change klon into knon in some variables declaration

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/surf_land_orchidee_nolic_mod.F90

    r5927 r6015  
    131131    REAL, INTENT(IN)                          :: date0
    132132    INTEGER, INTENT(IN)                       :: knon
    133     INTEGER, DIMENSION(klon), INTENT(IN)      :: knindex
     133    INTEGER, DIMENSION(knon), INTENT(IN)      :: knindex
    134134    LOGICAL, INTENT(IN)                       :: debut, lafin
    135135    REAL, DIMENSION(klon,nbsrf), INTENT(IN)   :: pctsrf
    136136    REAL, DIMENSION(klon), INTENT(IN)         :: rlon, rlat
    137     REAL, DIMENSION(klon), INTENT(IN)         :: yrmu0 ! cosine of solar zenith angle
    138     REAL, DIMENSION(klon), INTENT(IN)         :: plev
    139     REAL, DIMENSION(klon), INTENT(IN)         :: u1_lay, v1_lay, gustiness
    140     REAL, DIMENSION(klon), INTENT(IN)         :: temp_air, spechum
    141     REAL, DIMENSION(klon), INTENT(IN)         :: epot_air, ccanopy
    142     REAL, DIMENSION(klon), INTENT(IN)         :: tq_cdrag
    143     REAL, DIMENSION(klon), INTENT(IN)         :: petAcoef, peqAcoef
    144     REAL, DIMENSION(klon), INTENT(IN)         :: petBcoef, peqBcoef
    145     REAL, DIMENSION(klon), INTENT(IN)         :: precip_rain, precip_snow
    146     REAL, DIMENSION(klon), INTENT(IN)         :: lwdown, swnet, swdown, ps
    147     REAL, DIMENSION(klon), INTENT(IN)         :: q2m, t2m
     137    REAL, DIMENSION(knon), INTENT(IN)         :: yrmu0 ! cosine of solar zenith angle
     138    REAL, DIMENSION(knon), INTENT(IN)         :: plev
     139    REAL, DIMENSION(knon), INTENT(IN)         :: u1_lay, v1_lay, gustiness
     140    REAL, DIMENSION(knon), INTENT(IN)         :: temp_air, spechum
     141    REAL, DIMENSION(knon), INTENT(IN)         :: epot_air, ccanopy
     142    REAL, DIMENSION(knon), INTENT(IN)         :: tq_cdrag
     143    REAL, DIMENSION(knon), INTENT(IN)         :: petAcoef, peqAcoef
     144    REAL, DIMENSION(knon), INTENT(IN)         :: petBcoef, peqBcoef
     145    REAL, DIMENSION(knon), INTENT(IN)         :: precip_rain, precip_snow
     146    REAL, DIMENSION(knon), INTENT(IN)         :: lwdown, swnet, swdown, ps
     147    REAL, DIMENSION(knon), INTENT(IN)         :: q2m, t2m
    148148#ifdef ISO
    149     REAL, DIMENSION(ntraciso,klon), INTENT(IN):: xtprecip_rain, xtprecip_snow
     149    REAL, DIMENSION(ntraciso,knon), INTENT(IN):: xtprecip_rain, xtprecip_snow
    150150#endif
    151151
    152152! Parametres de sortie
    153153!****************************************************************************************
    154     REAL, DIMENSION(klon), INTENT(OUT)        :: evap, fluxsens, fluxlat, qsurf
     154    REAL, DIMENSION(knon), INTENT(OUT)        :: evap, fluxsens, fluxlat, qsurf
    155155!PRSN
    156156#ifdef ISO
    157     REAL, DIMENSION(ntraciso,klon), INTENT(OUT)        :: xtriverflow
    158     REAL, DIMENSION(ntraciso,klon), INTENT(OUT)        :: xtcoastalflow
    159     REAL, DIMENSION(ntraciso,klon), INTENT(OUT)        :: xtevap
    160     REAL, DIMENSION(ntraciso,klon), INTENT(INOUT)      :: Rsol
     157    REAL, DIMENSION(ntraciso,knon), INTENT(OUT)        :: xtriverflow
     158    REAL, DIMENSION(ntraciso,knon), INTENT(OUT)        :: xtcoastalflow
     159    REAL, DIMENSION(ntraciso,knon), INTENT(OUT)        :: xtevap
     160    REAL, DIMENSION(ntraciso,knon), INTENT(INOUT)      :: Rsol
    161161#endif
    162162!PRSN
    163     REAL, DIMENSION(klon), INTENT(OUT)        :: tsol_rad, tsurf_new
    164     REAL, DIMENSION(klon), INTENT(OUT)        :: alb1_new, alb2_new
    165     REAL, DIMENSION(klon), INTENT(OUT)        :: emis_new, z0m_new, z0h_new
    166     REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: veget
    167     REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: lai
    168     REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: height
     163    REAL, DIMENSION(knon), INTENT(OUT)        :: tsol_rad, tsurf_new
     164    REAL, DIMENSION(knon), INTENT(OUT)        :: alb1_new, alb2_new
     165    REAL, DIMENSION(knon), INTENT(OUT)        :: emis_new, z0m_new, z0h_new
     166    REAL, DIMENSION(knon,nvm_lmdz), INTENT(OUT) :: veget
     167    REAL, DIMENSION(knon,nvm_lmdz), INTENT(OUT) :: lai
     168    REAL, DIMENSION(knon,nvm_lmdz), INTENT(OUT) :: height
    169169
    170170! Local
     
    172172    INTEGER                                   :: ij, jj, igrid, ireal, index, nb
    173173    INTEGER                                   :: error
    174     REAL, DIMENSION(klon)                     :: swdown_vrai
     174    REAL, DIMENSION(knon)                     :: swdown_vrai
    175175    CHARACTER (len = 20)                      :: modname = 'surf_land_orchidee'
    176176    CHARACTER (len = 80)                      :: abort_message
     
    216216
    217217! Pb de nomenclature
    218     REAL, DIMENSION(klon)                     :: petA_orc, peqA_orc
    219     REAL, DIMENSION(klon)                     :: petB_orc, peqB_orc
     218    REAL, DIMENSION(knon)                     :: petA_orc, peqA_orc
     219    REAL, DIMENSION(knon)                     :: petB_orc, peqB_orc
    220220! Pb de correspondances de grilles
    221221    INTEGER, DIMENSION(:), SAVE, ALLOCATABLE  :: ig, jg
     
    226226
    227227! Essai cdrag
    228     REAL, DIMENSION(klon)                     :: cdrag
     228    REAL, DIMENSION(knon)                     :: cdrag
    229229    INTEGER,SAVE                              :: offset
    230230    !$OMP THREADPRIVATE(offset)
     
    488488       ENDIF
    489489       
    490        ALLOCATE(coastalflow(klon), stat = error)
     490       ALLOCATE(coastalflow(knon), stat = error)
    491491       IF (error /= 0) THEN
    492492          abort_message='Pb allocation coastalflow'
     
    494494       ENDIF
    495495       
    496        ALLOCATE(riverflow(klon), stat = error)
     496       ALLOCATE(riverflow(knon), stat = error)
    497497       IF (error /= 0) THEN
    498498          abort_message='Pb allocation riverflow'
     
    739739 
    740740    INTEGER,INTENT(IN)    :: knon
    741     INTEGER,INTENT(IN)    :: knindex(klon)   
     741    INTEGER,INTENT(IN)    :: knindex(knon)   
    742742    INTEGER,INTENT(OUT)   :: offset
    743     INTEGER,INTENT(OUT)   :: ktindex(klon)
     743    INTEGER,INTENT(OUT)   :: ktindex(knon)
    744744   
    745745    INTEGER               :: ktindex_glo(knon_glo)
     
    830830!****************************************************************************************
    831831    INTEGER, INTENT(IN)                     :: knon
    832     INTEGER, DIMENSION(klon), INTENT(IN)    :: knindex
     832    INTEGER, DIMENSION(knon), INTENT(IN)    :: knindex
    833833    REAL, DIMENSION(klon), INTENT(IN)       :: pctsrf
    834834   
     
    847847    INTEGER, DIMENSION(knon_glo,8)       :: neighbours_glo
    848848    REAL, DIMENSION(klon_glo)            :: pctsrf_glo
    849     INTEGER                              :: ktindex(klon)
     849    INTEGER                              :: ktindex(knon)
    850850!
    851851! End definition
Note: See TracChangeset for help on using the changeset viewer.