Changeset 3976 for LMDZ6/trunk/libf/dyn3d
- Timestamp:
- Aug 6, 2021, 4:30:26 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d/iniacademic.F90
r2622 r3976 67 67 LOGICAL ok_geost ! Initialisation vent geost. ou nul 68 68 LOGICAL ok_pv ! Polar Vortex 69 REAL phi_pv,dphi_pv,gam_pv ! Constantes pour polar vortex69 REAL phi_pv,dphi_pv,gam_pv,tetanoise ! Constantes pour polar vortex 70 70 71 71 real zz,ran1 … … 117 117 CALL inigeom 118 118 CALL inifilr 119 120 ! Initialize pressure and mass field if read_start=.false. 121 IF (.NOT. read_start) THEN 122 ! surface pressure 123 if (iflag_phys>2) then 124 ! specific value for CMIP5 aqua/terra planets 125 ! "Specify the initial dry mass to be equivalent to 126 ! a global mean surface pressure (101325 minus 245) Pa." 127 ps(:)=101080. 128 else 129 ! use reference surface pressure 130 ps(:)=preff 131 endif 132 ! ground geopotential 133 phis(:)=0. 134 CALL pression ( ip1jmp1, ap, bp, ps, p ) 135 if (pressure_exner) then 136 CALL exner_hyb( ip1jmp1, ps, p, pks, pk) 137 else 138 call exner_milieu(ip1jmp1,ps,p,pks,pk) 139 endif 140 CALL massdair(p,masse) 141 ENDIF 119 142 120 143 if (llm == 1) then … … 167 190 gam_pv=4. ! -dT/dz vortex (in K/km) 168 191 CALL getin('gam_pv',gam_pv) 192 tetanoise=0.005 193 CALL getin('tetanoise',tetanoise) 194 169 195 170 196 ! 2. Initialize fields towards which to relax … … 219 245 ! 3. Initialize fields (if necessary) 220 246 IF (.NOT. read_start) THEN 221 ! surface pressure222 if (iflag_phys>2) then223 ! specific value for CMIP5 aqua/terra planets224 ! "Specify the initial dry mass to be equivalent to225 ! a global mean surface pressure (101325 minus 245) Pa."226 ps(:)=101080.227 else228 ! use reference surface pressure229 ps(:)=preff230 endif231 232 ! ground geopotential233 phis(:)=0.234 235 CALL pression ( ip1jmp1, ap, bp, ps, p )236 if (pressure_exner) then237 CALL exner_hyb( ip1jmp1, ps, p, pks, pk)238 else239 call exner_milieu(ip1jmp1,ps,p,pks,pk)240 endif241 CALL massdair(p,masse)242 243 247 ! bulk initialization of temperature 244 teta(:,:)=tetarappel(:,:) 248 249 IF (iflag_phys>10000) THEN 250 ! Particular case to impose a constant temperature T0=0.01*iflag_physx 251 teta(:,:)= 0.01*iflag_phys/(pk(:,:)/cpp) 252 ELSE 253 teta(:,:)=tetarappel(:,:) 254 ENDIF 245 255 246 256 ! geopotential 247 257 CALL geopot(ip1jmp1,teta,pk,pks,phis,phi) 258 259 DO l=1,llm 260 print*,'presnivs,play,l',presnivs(l),(pk(1,l)/cpp)**(1./kappa)*preff 261 !pks(ij) = (cpp/preff) * ps(ij) 262 !pk(ij,1) = .5*pks(ij) 263 ! pk = cpp * (p/preff)^kappa 264 ENDDO 248 265 249 266 ! winds … … 292 309 do l=1,llm 293 310 do ij=iip2,ip1jm 294 teta(ij,l)=teta(ij,l)*(1.+ 0.005*ran1(idum))311 teta(ij,l)=teta(ij,l)*(1.+tetanoise*ran1(idum)) 295 312 enddo 296 313 enddo
Note: See TracChangeset
for help on using the changeset viewer.