Changeset 588 for trunk/LMDZ.GENERIC/libf/phystd
- Timestamp:
- Mar 19, 2012, 11:27:18 AM (13 years ago)
- Location:
- trunk/LMDZ.GENERIC/libf/phystd
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/calc_cpp_mugaz.F90
r538 r588 80 80 R = 8.314511E+0 *1000.E+0/mugaz 81 81 rcp = R/cpp 82 elseif((cpp.ne.cpp_c) .or. (mugaz.ne.mugaz_c))then 82 ! elseif((cpp.ne.cpp_c) .or. (mugaz.ne.mugaz_c))then 83 ! Ehouarn: tolerate a small mismatch between computed/stored values 84 elseif((abs(1.-cpp/cpp_c).gt.1.e-6) .or. & 85 (abs(1.-mugaz/mugaz_c).gt.1.e-6)) then 83 86 if(check_cpp_match)then 84 87 print*,'Values do not match!' -
trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90
r586 r588 522 522 temp=aerosol(ig,L_NLAYRAD-k,iaer)/QREFvis3d(ig,L_NLAYRAD-k,iaer) 523 523 524 tauaero(2*k+2,iaer)=max(temp*pweight,0. 0)525 tauaero(2*k+3,iaer)=max(temp-tauaero(2*k+2,iaer),0. 0)524 tauaero(2*k+2,iaer)=max(temp*pweight,0.d0) 525 tauaero(2*k+3,iaer)=max(temp-tauaero(2*k+2,iaer),0.d0) 526 526 ! 527 527 end do -
trunk/LMDZ.GENERIC/libf/phystd/datareadnc.F
r374 r588 43 43 44 44 use datafile_mod, only: datadir 45 ! to use 'getin' 46 USE ioipsl_getincom 45 47 implicit none 46 48 … … 77 79 REAL zthe(imdp1*jmdp1) 78 80 79 INTEGER lnblnk, ierr 80 EXTERNAL lnblnk 81 INTEGER ierr 81 82 82 83 INTEGER unit,nvarid … … 110 111 c Lecture NetCDF des donnees latitude et longitude 111 112 c----------------------------------------------------------------------- 112 113 ! First get the corret value of dtadir, if not already done: 114 ! default 'datadir' is set in "datadir_mod" 115 call getin("datadir",datadir) 113 116 write(*,*) 'Choice of surface data is:' 114 117 filestring='ls '//trim(datadir)//'/*.nc' -
trunk/LMDZ.GENERIC/libf/phystd/def_var.F90
r135 r588 27 27 ierr=NF_REDEF(nid) 28 28 29 print*,'in def_var.F90, dimids='30 print*,dimids29 !print*,'in def_var.F90, dimids=' 30 !print*,dimids 31 31 32 32 ! 2. Define the variable -
trunk/LMDZ.GENERIC/libf/phystd/physdem1.F
r253 r588 48 48 REAL day_ini 49 49 INTEGER nsoil,nq 50 integer ierr,idim1,idim2,idim3,idim4,idim5, nvarid50 integer ierr,idim1,idim2,idim3,idim4,idim5,idim6,nvarid 51 51 52 52 REAL phystep,time … … 82 82 real pzsig(ngridmx),pzgam(ngridmx),pzthe(ngridmx) 83 83 integer ig 84 INTEGER lnblnk85 EXTERNAL lnblnk86 84 87 85 ! flag which identifies if we are using old tracer names (qsurf01,...) … … 144 142 endif 145 143 c 146 ! ierr = NF_DEF_DIM (nid,"nlayer+1",llm+1,idim4)147 144 ierr = NF_DEF_DIM (nid,"nlayer_plus_1",llm+1,idim4) 148 145 if (ierr.ne.NF_NOERR) then … … 157 154 WRITE(6,*)' nq = ',nq,' and ierr = ', ierr 158 155 write(6,*) NF_STRERROR(ierr) 156 endif 157 158 ierr = NF_DEF_DIM (nid,"nlayer",llm,idim6) 159 if (ierr.ne.NF_NOERR) then 160 WRITE(6,*)'physdem1: Problem defining nlayer dimension' 161 write(6,*) NF_STRERROR(ierr) 162 call abort 159 163 endif 160 164 … … 448 452 c Write the physical fields 449 453 450 ! CO2 Ice Cover451 !452 ! ierr = NF_REDEF (nid)453 !#ifdef NC_DOUBLE454 ! ierr = NF_DEF_VAR (nid, "co2ice", NF_DOUBLE, 1, idim2,nvarid)455 !#else456 ! ierr = NF_DEF_VAR (nid, "co2ice", NF_FLOAT, 1, idim2,nvarid)457 !#endif458 ! ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 13,459 ! . "CO2 ice cover")460 ! ierr = NF_ENDDEF(nid)461 !#ifdef NC_DOUBLE462 ! ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,co2ice)463 !#else464 ! ierr = NF_PUT_VAR_REAL (nid,nvarid,co2ice)465 !#endif466 467 468 469 470 454 471 455 ! Soil Thermal inertia … … 574 558 ierr = NF_REDEF (nid) 575 559 #ifdef NC_DOUBLE 576 ierr = NF_DEF_VAR (nid, "cloudfrac", NF_DOUBLE, 1, idim2,nvarid) 577 #else 578 ierr = NF_DEF_VAR (nid, "cloudfrac", NF_FLOAT, 1, idim2,nvarid) 560 ierr = NF_DEF_VAR (nid, "cloudfrac", NF_DOUBLE, 2, 561 & (/idim2,idim6/),nvarid) 562 #else 563 ierr = NF_DEF_VAR (nid, "cloudfrac", NF_FLOAT, 2, 564 & (/idim2,idim6/),nvarid) 579 565 #endif 580 566 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 14, -
trunk/LMDZ.GENERIC/libf/phystd/physiq.F90
r586 r588 209 209 real latvl1,lonvl1 ! Viking Lander 1 point (for diagnostic) 210 210 211 real reffrad(ngridmx,nlayermx,naerkind)! aerosol effective radius (m)211 real,save :: reffrad(ngridmx,nlayermx,naerkind) ! aerosol effective radius (m) 212 212 213 213 ! Tendencies due to various processes: 214 214 real dqsurf(ngridmx,nqmx) 215 real zdtlw(ngridmx,nlayermx) ! (K/s) 216 real zdtsw(ngridmx,nlayermx) ! (K/s) 217 save zdtlw, zdtsw 215 real,save :: zdtlw(ngridmx,nlayermx) ! (K/s) 216 real,save :: zdtsw(ngridmx,nlayermx) ! (K/s) 218 217 219 218 real cldtlw(ngridmx,nlayermx) ! (K/s) LW heating rate for clear areas … … 1724 1723 if((ngridmx.gt.1) .or. (mod(icount-1,nint(ecritphy)).eq.0))then 1725 1724 ! to record global radiative balance 1726 open(92,file="rad_bal.out",form='formatted', access='append')1725 open(92,file="rad_bal.out",form='formatted',position='append') 1727 1726 write(92,*) zday,ISR/totarea,ASR/totarea,OLR/totarea 1728 1727 close(92) 1729 open(93,file="tem_bal.out",form='formatted', access='append')1728 open(93,file="tem_bal.out",form='formatted',position='append') 1730 1729 write(93,*) zday,Ts1,Ts2,Ts3,TsS 1731 1730 close(93) … … 1739 1738 ! ------------------------------------------------------------------ 1740 1739 if(testradtimes)then 1741 open(38,file="tau_phys.out",form='formatted', access='append')1740 open(38,file="tau_phys.out",form='formatted',position='append') 1742 1741 ig=1 1743 1742 do l=1,nlayer … … 1813 1812 if((ngridmx.gt.1) .or. (mod(icount-1,nint(ecritphy)).eq.0))then 1814 1813 ! to record global water balance 1815 open(98,file="h2o_bal.out",form='formatted', access='append')1814 open(98,file="h2o_bal.out",form='formatted',position='append') 1816 1815 write(98,*) zday,icesrf/totarea,liqsrf/totarea,icecol/totarea,vapcol/totarea 1817 1816 close(98) -
trunk/LMDZ.GENERIC/libf/phystd/tabfi.F
r253 r588 176 176 mugaz = tab_cntrl(tab0+8) 177 177 rcp = tab_cntrl(tab0+9) 178 cpp=(8.314511/(mugaz/1000.0))/rcp 178 179 daysec = tab_cntrl(tab0+10) 179 180 dtphys = tab_cntrl(tab0+11) … … 502 503 write(*,*) 503 504 write(*,*) ' mugaz (new value):',mugaz 504 r=8.314 /(mugaz/1000.0)505 r=8.314511/(mugaz/1000.0) 505 506 write(*,*) ' R (new value):',r 506 507 … … 512 513 write(*,*) 513 514 write(*,*) ' rcp (new value):',rcp 515 r=8.314511/(mugaz/1000.0) 514 516 cpp=r/rcp 515 517 write(*,*) ' cpp (new value):',cpp
Note: See TracChangeset
for help on using the changeset viewer.