Changeset 6015 for LMDZ6/trunk/libf


Ignore:
Timestamp:
Jan 12, 2026, 3:22:42 PM (3 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

Location:
LMDZ6/trunk/libf/phylmd
Files:
3 edited

Legend:

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

    r5942 r6015  
    151151    INTEGER                                   :: ij, jj, igrid, ireal, index, nb
    152152    INTEGER                                   :: error
    153     REAL, DIMENSION(klon)                     :: swdown_vrai
    154     REAL, DIMENSION(klon)                     :: run_off_lic        !! run off from land ice defined in ORCHIDEE, contains calving, melting and liquid precipitation
    155     REAL, DIMENSION(klon)                     :: run_off_lic_frac   !! cell fraction corresponding to run_off_lic
     153    REAL, DIMENSION(knon)                     :: swdown_vrai
     154    REAL, DIMENSION(knon)                     :: run_off_lic        !! run off from land ice defined in ORCHIDEE, contains calving, melting and liquid precipitation
     155    REAL, DIMENSION(knon)                     :: run_off_lic_frac   !! cell fraction corresponding to run_off_lic
    156156    REAL, DIMENSION(klon)                     :: blowingsnow_flux   !! blowing snow flux
    157157    CHARACTER (len = 20)                      :: modname = 'surf_land_orchidee'
     
    198198
    199199! Pb de nomenclature
    200     REAL, DIMENSION(klon)                     :: petA_orc, peqA_orc
    201     REAL, DIMENSION(klon)                     :: petB_orc, peqB_orc
     200    REAL, DIMENSION(knon)                     :: petA_orc, peqA_orc
     201    REAL, DIMENSION(knon)                     :: petB_orc, peqB_orc
    202202! Pb de correspondances de grilles
    203203    INTEGER, DIMENSION(:), SAVE, ALLOCATABLE  :: ig, jg
     
    208208
    209209! Essai cdrag
    210     REAL, DIMENSION(klon)                     :: cdrag
     210    REAL, DIMENSION(knon)                     :: cdrag
    211211    INTEGER,SAVE                              :: offset
    212212    !$OMP THREADPRIVATE(offset)
     
    464464       ENDIF
    465465       
    466        ALLOCATE(coastalflow(klon), stat = error)
     466       ALLOCATE(coastalflow(knon), stat = error)
    467467       IF (error /= 0) THEN
    468468          abort_message='Pb allocation coastalflow'
     
    470470       ENDIF
    471471       
    472        ALLOCATE(riverflow(klon), stat = error)
     472       ALLOCATE(riverflow(knon), stat = error)
    473473       IF (error /= 0) THEN
    474474          abort_message='Pb allocation riverflow'
     
    674674 
    675675    INTEGER,INTENT(IN)    :: knon
    676     INTEGER,INTENT(IN)    :: knindex(klon)   
     676    INTEGER,INTENT(IN)    :: knindex(knon)   
    677677    INTEGER,INTENT(OUT)   :: offset
    678     INTEGER,INTENT(OUT)   :: ktindex(klon)
     678    INTEGER,INTENT(OUT)   :: ktindex(knon)
    679679   
    680680    INTEGER               :: ktindex_glo(knon_glo)
     
    782782    INTEGER, DIMENSION(knon_glo,8)       :: neighbours_glo
    783783    REAL, DIMENSION(klon_glo)            :: pctsrf_glo
    784     INTEGER                              :: ktindex(klon)
     784    INTEGER                              :: ktindex(knon)
    785785!
    786786! End definition
  • 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
  • LMDZ6/trunk/libf/phylmd/surf_land_orchidee_nounstruct_mod.F90

    r6004 r6015  
    187187
    188188! Pb de nomenclature
    189     REAL, DIMENSION(klon)                     :: petA_orc, peqA_orc
    190     REAL, DIMENSION(klon)                     :: petB_orc, peqB_orc
     189    REAL, DIMENSION(knon)                     :: petA_orc, peqA_orc
     190    REAL, DIMENSION(knon)                     :: petB_orc, peqB_orc
    191191! Pb de correspondances de grilles
    192192    INTEGER, DIMENSION(:), SAVE, ALLOCATABLE  :: ig, jg
     
    197197
    198198! Essai cdrag
    199     REAL, DIMENSION(klon)                     :: cdrag
     199    REAL, DIMENSION(knon)                     :: cdrag
    200200    INTEGER,SAVE                              :: offset
    201201    !$OMP THREADPRIVATE(offset)
     
    347347       ENDDO
    348348     
    349        ALLOCATE(coastalflow(klon), stat = error)
     349       ALLOCATE(coastalflow(knon), stat = error)
    350350       IF (error /= 0) THEN
    351351          abort_message='Pb allocation coastalflow'
     
    353353       ENDIF
    354354       
    355        ALLOCATE(riverflow(klon), stat = error)
     355       ALLOCATE(riverflow(knon), stat = error)
    356356       IF (error /= 0) THEN
    357357          abort_message='Pb allocation riverflow'
Note: See TracChangeset for help on using the changeset viewer.