Changeset 678 for trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys
- Timestamp:
- May 30, 2012, 1:29:56 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r674 r678 33 33 MARS_TSOIL, & 34 34 MARS_Q2, & 35 MARS_TSURF, & 36 #ifdef NEWPHYS 35 37 MARS_FLUXRAD, & 36 38 MARS_WSTAR, & 37 MARS_TSURF, &38 #ifdef NEWPHYS39 39 MARS_ISOIL, & 40 40 MARS_DSOIL, & … … 123 123 REAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT ) :: & 124 124 MARS_CICE,MARS_WICE, & 125 MARS_ FLUXRAD,MARS_WSTAR,MARS_TSURF125 MARS_TSURF 126 126 ! 3D arrays 127 127 REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(IN ) :: & … … 142 142 REAL, DIMENSION( ims:ime, jms:jme ), INTENT(IN ) :: & 143 143 MARS_Z0 144 REAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT ) :: & 145 MARS_FLUXRAD,MARS_WSTAR 144 146 #endif 145 147 REAL, DIMENSION( ims:ime, 5, jms:jme ), INTENT(IN ) :: & … … 197 199 REAL :: zmea_val,zstd_val,zsig_val,zgam_val,zthe_val 198 200 REAL :: theta_val, psi_val 199 REAL :: wstar_val,fluxrad_val200 201 LOGICAL :: firstcall,lastcall,tracerdyn 201 202 REAL,DIMENSION(:),ALLOCATABLE :: q2_val, qsurf_val, tsoil_val 202 203 #ifdef NEWPHYS 204 REAL :: wstar_val,fluxrad_val 203 205 REAL,DIMENSION(:),ALLOCATABLE :: isoil_val, dsoil_val 204 206 REAL :: z0_val … … 209 211 REAL,DIMENSION(:),ALLOCATABLE :: wtheta, wpsi 210 212 ! v--- can they be modified ? 211 REAL,DIMENSION(:),ALLOCATABLE :: wtsurf,wco2ice,wemis ,wwstar,wfluxrad213 REAL,DIMENSION(:),ALLOCATABLE :: wtsurf,wco2ice,wemis 212 214 REAL,DIMENSION(:,:),ALLOCATABLE :: wq2,wqsurf,wtsoil 213 215 #ifdef NEWPHYS 216 REAL,DIMENSION(:),ALLOCATABLE :: wwstar,wfluxrad 214 217 REAL,DIMENSION(:),ALLOCATABLE :: wz0tab 215 218 REAL,DIMENSION(:,:),ALLOCATABLE :: wisoil,wdsoil … … 274 277 save_tsurf_restart 275 278 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: & 276 save_fluxrad_restart277 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: &278 279 save_co2ice_restart 279 280 REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: & … … 281 282 REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: & 282 283 save_qsurf_restart 284 #ifdef NEWPHYS 283 285 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: & 284 286 save_wstar_restart 287 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: & 288 save_fluxrad_restart 289 #endif 285 290 286 291 !!!IDEALIZED IDEALIZED … … 432 437 ! Restart save arrays 433 438 ALLOCATE(save_tsoil_restart(ngrid,nsoil)) 434 ALLOCATE(save_fluxrad_restart(ngrid))435 439 ALLOCATE(save_co2ice_restart(ngrid)) 436 440 ALLOCATE(save_q2_restart(ngrid,nlayer+1)) 437 441 ALLOCATE(save_qsurf_restart(ngrid,nq)) 438 ALLOCATE(save_wstar_restart(ngrid))439 442 ALLOCATE(save_tsurf_restart(ngrid)) 440 443 save_tsoil_restart(:,:)=0. 441 save_fluxrad_restart(:)=0.442 444 save_co2ice_restart(:)=0. 443 445 save_q2_restart(:,:)=0. 444 446 save_qsurf_restart(:,:)=0. 447 save_tsurf_restart(:)=0. 448 #ifdef NEWPHYS 449 ALLOCATE(save_wstar_restart(ngrid)) 450 ALLOCATE(save_fluxrad_restart(ngrid)) 445 451 save_wstar_restart(:)=0. 446 save_tsurf_restart(:)=0. 452 save_fluxrad_restart(:)=0. 453 #endif 447 454 448 455 !! put here some general information you'd like to print just once … … 666 673 ALLOCATE(wqsurf(ngrid,nq)) !!!!! 667 674 ALLOCATE(wtsoil(ngrid,nsoil)) !!!!! 675 #ifdef NEWPHYS 668 676 ALLOCATE(wfluxrad(ngrid)) 669 677 ALLOCATE(wwstar(ngrid)) 670 #ifdef NEWPHYS671 678 ALLOCATE(wisoil(ngrid,nsoil)) !!!!! 672 679 ALLOCATE(wdsoil(ngrid,nsoil)) !!!!! … … 1089 1096 IF (.not. restart) THEN 1090 1097 q2_val(:)=0. !PBL wind variance 1098 #ifdef NEWPHYS 1091 1099 fluxrad_val=0. 1092 1100 wstar_val=0. 1101 #endif 1093 1102 ELSE 1094 1103 q2_val(:)=MARS_Q2(i,:,j) 1104 #ifdef NEWPHYS 1095 1105 fluxrad_val=MARS_FLUXRAD(i,j) 1096 1106 wstar_val=MARS_WSTAR(i,j) 1107 #endif 1097 1108 ENDIF 1098 1109 … … 1115 1126 wemis(subs) = emis_val 1116 1127 wq2(subs,:) = q2_val(:) 1128 wqsurf(subs,:) = qsurf_val(:) 1129 wtsoil(subs,:) = tsoil_val(:) 1130 #ifdef NEWPHYS 1117 1131 wfluxrad(subs) = fluxrad_val 1118 1132 wwstar(subs) = wstar_val 1119 wqsurf(subs,:) = qsurf_val(:)1120 wtsoil(subs,:) = tsoil_val(:)1121 #ifdef NEWPHYS1122 1133 wisoil(subs,:) = isoil_val(:) 1123 1134 wdsoil(subs,:) = dsoil_val(:) … … 1343 1354 #endif 1344 1355 save_tsoil_restart(:,:)=wtsoil(:,:) 1345 save_fluxrad_restart(:)=wfluxrad(:)1346 1356 save_co2ice_restart(:)=wco2ice(:) 1347 1357 save_q2_restart(:,:)=wq2(:,:) 1348 1358 save_qsurf_restart(:,:)=wqsurf(:,:) 1349 save_wstar_restart(:)=wwstar(:)1350 1359 save_tsurf_restart(:)=wtsurf(:) 1351 1360 DEALLOCATE(wtsoil) 1352 DEALLOCATE(wfluxrad)1353 1361 DEALLOCATE(wco2ice) 1354 1362 DEALLOCATE(wq2) 1355 1363 DEALLOCATE(wqsurf) 1364 DEALLOCATE(wtsurf) 1365 #ifdef NEWPHYS 1366 save_wstar_restart(:)=wwstar(:) 1367 save_fluxrad_restart(:)=wfluxrad(:) 1368 DEALLOCATE(wfluxrad) 1356 1369 DEALLOCATE(wwstar) 1357 DEALLOCATE(wtsurf) 1370 #endif 1358 1371 ENDIF call_physics 1359 1372 … … 1439 1452 ! Save key variables for restart ! 1440 1453 !------------------------------------! 1441 1442 1454 MARS_TSOIL(i,:,j)=save_tsoil_restart(subs,:) 1443 MARS_FLUXRAD(i,j)=save_fluxrad_restart(subs)1444 1455 MARS_CICE(i,j)=save_co2ice_restart(subs) 1445 1456 MARS_Q2(i,:,j)=save_q2_restart(subs,:) 1446 1457 SELECT CASE (MARS_MODE) 1447 1458 CASE (1,11,12) 1448 MARS_WICE(i,j)=save_qsurf_restart(subs,2) 1459 MARS_WICE(i,j)=save_qsurf_restart(subs,2) !! see above Tracer at surface 1449 1460 END SELECT 1461 MARS_TSURF(i,j)=save_tsurf_restart(subs) 1462 #ifdef NEWPHYS 1450 1463 MARS_WSTAR(i,j)=save_wstar_restart(subs) 1451 MARS_TSURF(i,j)=save_tsurf_restart(subs) 1464 MARS_FLUXRAD(i,j)=save_fluxrad_restart(subs) 1465 #endif 1452 1466 1453 1467 !---------!
Note: See TracChangeset
for help on using the changeset viewer.