Changeset 2828 for trunk/LMDZ.MARS/libf/dynphy_lonlat
- Timestamp:
- Nov 23, 2022, 11:14:30 AM (2 years ago)
- Location:
- trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/lect_start_archive.F
r2630 r2828 1 1 SUBROUTINE lect_start_archive(ngrid,nlayer,nqtot, 2 2 & date,tsurf,tsoil,albedo,emis,q2, 3 & t,ucov,vcov,ps, co2ice,h,phisold_newgrid,3 & t,ucov,vcov,ps,h,phisold_newgrid, 4 4 & q,qsurf,tauscaling,totcloudfrac,surfith,nid, 5 5 & watercap) … … 46 46 REAL,INTENT(OUT) :: tsurf(ngrid) ! surface temperature 47 47 REAL,INTENT(OUT) :: tsoil(ngrid,nsoilmx) ! soil temperature 48 REAL,INTENT(OUT) :: co2ice(ngrid) ! CO2 ice layer49 48 REAL,INTENT(OUT) :: albedo(ngrid,2) ! surface albedo 50 49 REAL,INTENT(OUT) :: emis(ngrid) ! ground emissivity … … 193 192 logical :: oldtracernames=.false. 194 193 integer :: counter 194 integer :: igcm_co2 195 195 character(len=30) :: txt ! to store some text 196 196 real :: tmpval ! to store a temporary variable/value … … 702 702 count=(/imold+1,jmold+1,1,0/) 703 703 704 ierr = NF_INQ_VARID (nid, "co2 ice", nvarid)705 IF (ierr .NE. NF_NOERR) THEN 706 PRINT*, "lect_start_archive: <co2 ice> is missing"704 ierr = NF_INQ_VARID (nid, "co2", nvarid) 705 IF (ierr .NE. NF_NOERR) THEN 706 PRINT*, "lect_start_archive: <co2> is missing" 707 707 CALL abort 708 708 ENDIF … … 713 713 #endif 714 714 IF (ierr .NE. NF_NOERR) THEN 715 PRINT*, "lect_start_archive: Failed loading <co2 ice>"715 PRINT*, "lect_start_archive: Failed loading <co2>" 716 716 PRINT*, NF_STRERROR(ierr) 717 717 CALL abort … … 875 875 write(*,*) 'lect_start_archive: loading surface tracer', 876 876 & ' h2o_ice instead of h2o_vap' 877 endif 878 if(txt.eq."co2_surf") then 879 igcm_co2=iq 877 880 endif 878 881 ENDIF ! of IF (oldtracernames) … … 1466 1469 enddo 1467 1470 1468 call gr_dyn_fi (1,iim+1,jjm+1,ngrid,co2ices, co2ice)1471 call gr_dyn_fi (1,iim+1,jjm+1,ngrid,co2ices,qsurf(:,igcm_co2)) 1469 1472 1470 1473 c----------------------------------------------------------------------- -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/newstart.F
r2825 r2828 29 29 use surfdat_h, only: phisfi, z0, zmea, zstd, zsig, zgam, zthe, 30 30 & albedodat, z0_default, qsurf, tsurf, 31 & co2ice,emis, hmons, summit, base, watercap31 & emis, hmons, summit, base, watercap 32 32 use comsoil_h, only: inertiedat, layer, mlayer, nsoilmx, tsoil 33 33 use control_mod, only: day_step, iphysiq, anneeref, planet_type … … 420 420 CALL lect_start_archive(ngridmx,llm,nqtot, 421 421 & date,tsurf,tsoil,albedo,emis,q2, 422 & t,ucov,vcov,ps, co2ice,teta,phisold_newgrid,q,qsurf,422 & t,ucov,vcov,ps,teta,phisold_newgrid,q,qsurf, 423 423 & tauscaling,totcloudfrac,surfith,nid,watercap) 424 424 write(*,*) "OK, read start_archive file" … … 442 442 CALL phyetat0 (fichnom,tab0,Lmodif,nsoilmx,ngridmx,llm,nqtot, 443 443 & day_ini,time,tsurf,tsoil,albedo,emis, 444 & q2,qsurf, co2ice,tauscaling,totcloudfrac,444 & q2,qsurf,tauscaling,totcloudfrac, 445 445 & wstar,watercap) 446 446 … … 525 525 write(*,*) 'isotherm : Isothermal Temperatures, wind set to 526 526 $ zero' 527 write(*,*) 'co2ice=0 : remove CO2 polar cap' 527 write(*,*) 'co2ice=0 : remove CO2 polar cap i.e. 528 $ qsurf(co2)=0 ' 528 529 write(*,*) 'ptot : change total pressure' 529 530 write(*,*) 'therm_ini_s : set soil thermal inertia to reference … … 688 689 patm = patm + ps(i,j)*aire(i,j) 689 690 airetot= airetot + aire(i,j) 690 pcap = pcap + aire(i,j)* co2ice(ig)*g691 pcap = pcap + aire(i,j)*qsurf(ig,igcm_co2)*g 691 692 ENDDO 692 693 ENDDO … … 1322 1323 else if (trim(modif) .eq. 'co2ice=0') then 1323 1324 do ig=1,ngridmx 1324 co2ice(ig)=01325 qsurf(ig,igcm_co2)=0 1325 1326 emis(ig)=emis(ngridmx/2) 1326 1327 end do … … 1789 1790 call physdem1("restartfi.nc",nsoilmx,ngridmx,llm,nqtot, 1790 1791 & dtphys,hour_ini, 1791 & tsurf,tsoil, co2ice,albedo,emis,q2,qsurf,tauscaling,1792 & tsurf,tsoil,albedo,emis,q2,qsurf,tauscaling, 1792 1793 & totcloudfrac,wstar,watercap) 1793 1794 -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/start2archive.F
r2814 r2828 63 63 REAL tsurf(ngridmx) ! Surface temperature 64 64 REAL tsoil(ngridmx,nsoilmx) ! Soil temperature 65 REAL co2ice(ngridmx) ! CO2 ice layer66 65 REAL watercap(ngridmx) ! h2o ice layer 67 66 REAL tauscaling(ngridmx) ! dust conversion factor … … 82 81 REAL tsoilS(ip1jmp1,nsoilmx) 83 82 REAL ithS(ip1jmp1,nsoilmx) ! Soil Thermal Inertia 84 REAL co2iceS(ip1jmp1)85 83 REAL watercapS(ip1jmp1) 86 84 REAL tauscalingS(ip1jmp1) … … 111 109 character*80 fichnom 112 110 integer :: ierr,ntime 111 integer :: igcm_co2 113 112 integer :: nq,numvanle 114 113 character(len=30) :: txt ! to store some text … … 163 162 164 163 CALL phyetat0 (fichnom,0,Lmodif,nsoilmx,ngridmx,llm,nqtot, 165 & day_ini_fi,timefi,tsurf,tsoil,albedo,emis,q2,qsurf, co2ice,164 & day_ini_fi,timefi,tsurf,tsoil,albedo,emis,q2,qsurf, 166 165 & tauscaling,totcloudfrac,wstar,watercap) 167 166 … … 246 245 c 247 246 c tsurf --> tsurfS 248 c co2ice --> co2iceS249 247 c watercap --> watercapS 250 248 c tsoil --> tsoilS … … 260 258 261 259 call gr_fi_dyn(1,ngridmx,iip1,jjp1,tsurf,tsurfS) 262 call gr_fi_dyn(1,ngridmx,iip1,jjp1,co2ice,co2iceS)263 260 call gr_fi_dyn(1,ngridmx,iip1,jjp1,watercap,watercapS) 264 261 call gr_fi_dyn(nsoilmx,ngridmx,iip1,jjp1,tsoil,tsoilS) … … 276 273 c======================================================================= 277 274 275 DO iq=1,nqtot 276 if (trim(tname(iq)) .eq. "co2") then 277 igcm_co2=iq 278 endif 279 enddo 280 278 281 ptotal = 0. 279 282 co2icetotal = 0. … … 282 285 ptotal=ptotal+aire(i+(iim+1)*(j-1))*ps(i+(iim+1)*(j-1))/g 283 286 co2icetotal = co2icetotal + 284 & co2iceS(i+(iim+1)*(j-1))*aire(i+(iim+1)*(j-1))287 & qsurfS(i+(iim+1)*(j-1),igcm_co2)*aire(i+(iim+1)*(j-1)) 285 288 ENDDO 286 289 ENDDO … … 357 360 c----------------------------------------------------------------------- 358 361 359 call write_archive(nid,ntime,'co2ice','couche de glace co2',360 & 'kg/m2',2,co2iceS)361 362 call write_archive(nid,ntime,'watercap','couche de glace h2o', 362 363 & 'kg/m2',2,watercapS) -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/start2archive_SSO.F
r2814 r2828 66 66 REAL tsurf(ngridmx) ! Surface temperature 67 67 REAL tsoil(ngridmx,nsoilmx) ! Soil temperature 68 REAL co2ice(ngridmx) ! CO2 ice layer69 68 REAL watercap(ngridmx) ! h2o ice layer 70 69 REAL tauscaling(ngridmx) ! dust conversion factor … … 88 87 REAL tsoilS(ip1jmp1,nsoilmx) 89 88 REAL ithS(ip1jmp1,nsoilmx) ! Soil Thermal Inertia 90 REAL co2iceS(ip1jmp1)91 89 REAL watercapS(ip1jmp1) 92 90 REAL tauscalingS(ip1jmp1) … … 128 126 character*80 fichnom 129 127 integer :: ierr,ntime 128 integer :: igcm_co2 130 129 integer :: nq,numvanle 131 130 character(len=30) :: txt ! to store some text … … 180 179 181 180 CALL phyetat0 (fichnom,0,Lmodif,nsoilmx,ngridmx,llm,nqtot, 182 & day_ini_fi,timefi,tsurf,tsoil,albedo,emis,q2,qsurf, co2ice,181 & day_ini_fi,timefi,tsurf,tsoil,albedo,emis,q2,qsurf, 183 182 & tauscaling,totcloudfrac,wstar,watercap) 184 183 … … 263 262 c 264 263 c tsurf --> tsurfS 265 c co2ice --> co2iceS266 264 c tsoil --> tsoilS 267 265 c emis --> emisS … … 274 272 275 273 call gr_fi_dyn(1,ngridmx,iip1,jjp1,tsurf,tsurfS) 276 call gr_fi_dyn(1,ngridmx,iip1,jjp1,co2ice,co2iceS)277 274 call gr_fi_dyn(1,ngridmx,iip1,jjp1,watercap,watercapS) 278 275 call gr_fi_dyn(nsoilmx,ngridmx,iip1,jjp1,tsoil,tsoilS) … … 301 298 c======================================================================= 302 299 300 DO iq=1,nqtot 301 if (trim(tname(iq)) .eq. "co2") then 302 igcm_co2=iq 303 endif 304 enddo 305 303 306 ptotal = 0. 304 307 co2icetotal = 0. … … 307 310 ptotal=ptotal+aire(i+(iim+1)*(j-1))*ps(i+(iim+1)*(j-1))/g 308 311 co2icetotal = co2icetotal + 309 & co2iceS(i+(iim+1)*(j-1))*aire(i+(iim+1)*(j-1))312 & qsurfS(i+(iim+1)*(j-1),igcm_co2)*aire(i+(iim+1)*(j-1)) 310 313 ENDDO 311 314 ENDDO … … 382 385 c----------------------------------------------------------------------- 383 386 384 call write_archive(nid,ntime,'co2ice','couche de glace co2',385 & 'kg/m2',2,co2iceS)386 387 call write_archive(nid,ntime,'watercap','couche de glace h2o', 387 388 & 'kg/m2',2,watercapS)
Note: See TracChangeset
for help on using the changeset viewer.