Changeset 3100 for trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd
- Timestamp:
- Oct 25, 2023, 10:34:54 AM (15 months ago)
- Location:
- trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd/ini_archive.F
r1478 r3100 36 36 37 37 USE comsoil_h 38 USE slab_ice_h, only: noceanmx 38 ! USE slab_ice_h, only: noceanmx 39 USE ocean_slab_mod, ONLY: nslay 39 40 ! use control_mod 40 41 USE comvert_mod, ONLY: ap,bp,aps,bps,presnivs,pseudoalt … … 81 82 INTEGER idim_tim 82 83 INTEGER idim_nsoilmx ! "subsurface_layers" dimension ID # 83 INTEGER idim_n oceanmx! "ocean_layers" dimension ID #84 INTEGER idim_nslay ! "ocean_layers" dimension ID # 84 85 INTEGER nid,nvarid 85 86 real sig_s(llm),s(llm) … … 164 165 ierr = NF_DEF_DIM (nid, "altitude", llm, idim_llm) 165 166 ierr = NF_DEF_DIM (nid,"subsurface_layers",nsoilmx,idim_nsoilmx) 166 ierr = NF_DEF_DIM (nid,"ocean_layers",n oceanmx,idim_noceanmx)167 ierr = NF_DEF_DIM (nid,"ocean_layers",nslay,idim_nslay) 167 168 168 169 ierr = NF_DEF_DIM (nid,"index", length, idim_index) -
trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd/iniphysiq_mod.F90
r1682 r3100 11 11 12 12 use control_mod, only: nday 13 use surf_heat_transp_mod, only: ini_surf_heat_transp 13 !use surf_heat_transp_mod, only: ini_surf_heat_transp 14 USE slab_heat_transp_mod, ONLY: ini_slab_transp_geom 14 15 use infotrac, only : nqtot ! number of advected tracers 15 16 use planete_mod, only: ini_planete_mod … … 83 84 call getin_p("ok_slab_ocean",ok_slab_ocean) 84 85 if (ok_slab_ocean) then 85 call ini_surf_heat_transp(ip1jm,ip1jmp1,unsairez,fext,unsaire, & 86 cu,cuvsurcv,cv,cvusurcu,aire,apoln,apols, & 87 aireu,airev) 86 ! call ini_surf_heat_transp(ip1jm,ip1jmp1,unsairez,fext,unsaire, & 87 ! cu,cuvsurcv,cv,cvusurcu,aire,apoln,apols, & 88 ! aireu,airev) 89 CALL ini_slab_transp_geom(ip1jm,ip1jmp1,unsairez,fext,unsaire,& 90 cu,cuvsurcv,cv,cvusurcu, & 91 aire,apoln,apols, & 92 aireu,airev,rlatvdyn) 88 93 endif 89 94 -
trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd/lect_start_archive.F
r2484 r3100 9 9 USE tracer_h, ONLY: igcm_co2_ice 10 10 USE infotrac, ONLY: tname, nqtot 11 USE slab_ice_h, ONLY: noceanmx 11 ! USE slab_ice_h, ONLY: noceanmx 12 USE ocean_slab_mod, ONLY: nslay 12 13 USE callkeys_mod, ONLY: ok_slab_ocean 13 14 USE comvert_mod, ONLY: ap,bp,aps,bps,preff … … 68 69 REAL,INTENT(OUT) :: emis(ngrid) 69 70 REAL,INTENT(OUT) :: q2(ngrid,llm+1),qsurf(ngrid,nqtot) 70 REAL,INTENT(OUT) :: tslab(ngrid,n oceanmx)71 REAL,INTENT(OUT) :: tslab(ngrid,nslay) 71 72 REAL ,INTENT(OUT) ::rnat(ngrid),pctsrf_sic(ngrid) 72 73 REAL,INTENT(OUT) :: tsea_ice(ngrid),sea_ice(ngrid) … … 98 99 real emisS(iip1,jjp1) 99 100 REAL q2S(iip1,jjp1,llm+1),qsurfS(iip1,jjp1,nqtot) 100 real tslabS(iip1,jjp1,n oceanmx)101 real tslabS(iip1,jjp1,nslay) 101 102 real pctsrf_sicS(iip1,jjp1),tsea_iceS(iip1,jjp1) 102 103 real rnatS(iip1,jjp1), sea_iceS(iip1,jjp1) … … 287 288 allocate(mlayerold(nsoilold)) 288 289 allocate(qsurfold(imold+1,jmold+1,nqtot)) 289 allocate(tslabold(imold+1,jmold+1,n oceanmx))290 allocate(tslabold(imold+1,jmold+1,nslay)) 290 291 allocate(rnatold(imold+1,jmold+1)) 291 292 allocate(pctsrf_sicold(imold+1,jmold+1)) … … 684 685 if(ok_slab_ocean) then 685 686 start=(/1,1,1,memo/) 686 count=(/imold+1,jmold+1,n oceanmx,1/)687 count=(/imold+1,jmold+1,nslay,1/) 687 688 688 689 ierr=NF_INQ_VARID(nid,"tslab",nvarid) … … 1298 1299 c 6.3 Slab Ocean : 1299 1300 c----------------------------------------------------------------------- 1300 call interp_horiz (tslabold,tslabs,imold,jmold,iim,jjm,n oceanmx,1301 & rlonuold,rlatvold,rlonu,rlatv) 1302 call gr_dyn_fi (n oceanmx,iim+1,jjm+1,ngrid,tslabs,tslab)1301 call interp_horiz (tslabold,tslabs,imold,jmold,iim,jjm,nslay, 1302 & rlonuold,rlatvold,rlonu,rlatv) 1303 call gr_dyn_fi (nslay,iim+1,jjm+1,ngrid,tslabs,tslab) 1303 1304 1304 1305 call interp_horiz (rnatold,rnats,imold,jmold,iim,jjm,1, -
trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd/newstart.F
r2785 r3100 30 30 use phyredem, only: physdem0, physdem1 31 31 use iostart, only: open_startphy 32 use slab_ice_h, only:noceanmx 32 ! use slab_ice_h, only:noceanmx 33 USE ocean_slab_mod, ONLY: nslay 33 34 use filtreg_mod, only: inifilr 34 35 USE mod_const_mpi, ONLY: COMM_LMDZ -
trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd/start2archive.F
r2785 r3100 22 22 USE comsoil_h 23 23 24 use slab_ice_h, only: noceanmx 24 ! use slab_ice_h, only: noceanmx 25 USE ocean_slab_mod, ONLY: nslay 25 26 USE ioipsl_getincom, only: getin 26 27 USE planete_mod, only: year_day … … 84 85 ! added by BC for slab ocean 85 86 REAL rnat(ngridmx),pctsrf_sic(ngridmx),sea_ice(ngridmx) 86 REAL tslab(ngridmx,noceanmx),tsea_ice(ngridmx) 87 REAL, ALLOCATABLE :: tslab(:,:) 88 REAL tsea_ice(ngridmx) 87 89 88 90 … … 104 106 ! added by BC for slab ocean 105 107 REAL rnatS(ip1jmp1),pctsrf_sicS(ip1jmp1),sea_iceS(ip1jmp1) 106 REAL tslabS(ip1jmp1,noceanmx),tsea_iceS(ip1jmp1) 108 REAL, ALLOCATABLE :: tslabS(:,:) 109 REAL tsea_iceS(ip1jmp1) 107 110 108 111 ! For non-orographic GW … … 156 159 allocate(qsurf(ngridmx,nqtot)) 157 160 allocate(qsurfS(ip1jmp1,nqtot)) 161 allocate(tslab(ngridmx,nslay)) !Added by SB for slab ocean 162 allocate(tslabS(ip1jmp1,nslay)) !Added by SB for slab ocean 158 163 ! other array allocations: 159 164 ! call ini_comsoil_h(ngridmx) ! done via iniphysiq … … 356 361 call gr_fi_dyn(1,ngridmx,iip1,jjp1,tsea_ice,tsea_iceS) 357 362 call gr_fi_dyn(1,ngridmx,iip1,jjp1,sea_ice,sea_iceS) 358 call gr_fi_dyn(n oceanmx,ngridmx,iip1,jjp1,tslab,tslabS)363 call gr_fi_dyn(nslay,ngridmx,iip1,jjp1,tslab,tslabS) 359 364 360 365 call gr_fi_dyn(llm,ngridmx,iip1,jjp1,du_nonoro_gwd,du_nonoro_gwdS) -
trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd/write_archive.F
r2336 r3100 33 33 34 34 use comsoil_h, only: nsoilmx 35 use slab_ice_h, only: noceanmx 35 ! use slab_ice_h, only: noceanmx 36 USE ocean_slab_mod, ONLY: nslay 36 37 37 38 implicit none … … 195 196 edges(1)=iip1 196 197 edges(2)=jjp1 197 edges(3)=n oceanmx198 edges(3)=nslay 198 199 edges(4)=1 199 200 #ifdef NC_DOUBLE
Note: See TracChangeset
for help on using the changeset viewer.