Changeset 315 for trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2
- Timestamp:
- Oct 10, 2011, 11:01:05 PM (13 years ago)
- Location:
- trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM
r296 r315 110 110 state real HFMAX_TH ij misc 1 - rd "HFMAX_TH" "MAXIMUM TH HEAT FLUX" "m.K/s" #SAVEMARS2 hfmax_th 111 111 state real WMAX_TH ij misc 1 - rd "WMAX_TH" "MAXIMUM TH VERTICAL VELOCITY" "m/s" #SAVEMARS2 wmax_th 112 112 state real Z0SET ij misc 1 - rhd "Z0SET" "SET SURFACE ROUGHNESS" "m" #SAVEMARS2 z0 113 113 114 114 #### … … 194 194 #### variables dans real 195 195 #### 196 ############# in module_initialize ################# in geo_em.d**.nc ############################################ 196 197 state real albedo_gcm_gc ij dyn_em 1 - i1 "ALBEDO_GCM" "albedo of naked ground" "0 - 1 fraction" 197 198 state real therm_inert_gc ij dyn_em 1 - i1 "THERMAL_INERTIA" "thermal inertia" "J/m2/K/s0.5" 199 state real z0_gc ij dyn_em 1 - i1 "SURF_ROUGHNESS" "surface roughness" "cm" 198 200 state real slpx_gc ij dyn_em 1 - i1 "SLPX" "slope x direction" "rad" 199 201 state real slpy_gc ij dyn_em 1 - i1 "SLPY" "slope y direction" "rad" … … 208 210 #### variables dans wrf 209 211 #### 212 ############# in module_initialize ################## in solve_em and lmd_driver ############################### 210 213 state real albedo_gcm ij misc 1 - i012rd "MARS_ALB" "albedo of naked ground" "0 - 1 fraction" 211 214 state real therm_inert ij misc 1 - i012rd "MARS_TI" "thermal inertia" "J/m2/K/s0.5" 215 state real z0 ij misc 1 - i012rd "MARS_Z0" "surface roughness" "cm" 212 216 state real slpx ij misc 1 - i012rd "SLOPEX" "slope x direction" "rad" 213 217 state real slpy ij misc 1 - i012rd "SLOPEY" "slope y direction" "rad" … … 1129 1133 rconfig real init_TI namelist,physics max_domains 0 irh "init_TI" "thermal inertia" "" 1130 1134 rconfig real init_AL namelist,physics max_domains 0 irh "init_AL" "albedo" "" 1135 rconfig real init_Z0 namelist,physics max_domains 0 irh "init_Z0" "surface roughness" "" 1131 1136 rconfig real init_U namelist,physics max_domains 0 irh "init_U" "zonal wind" "" 1132 1137 rconfig real init_V namelist,physics max_domains 0 irh "init_V" "meridional wind" "" -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis1.inc
r234 r315 16 16 wiceradiusN,wiceradiusS,wdtemisiceN,wdtemisiceS, & 17 17 #ifdef NEWPHYS 18 walbedodat, wphisfi, wvolcapa, 18 walbedodat, wphisfi, wvolcapa, wz0tab, & 19 19 #else 20 20 walbedodat, winertiedat, wphisfi, & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis2.inc
r234 r315 19 19 wiceradiusN,wiceradiusS,wdtemisiceN,wdtemisiceS, & 20 20 #ifdef NEWPHYS 21 walbedodat, wphisfi, wvolcapa, 21 walbedodat, wphisfi, wvolcapa, wz0tab, & 22 22 #else 23 23 walbedodat, winertiedat, wphisfi, & … … 39 39 wiceradiusN,wiceradiusS,wdtemisiceN,wdtemisiceS, & 40 40 #ifdef NEWPHYS 41 walbedodat, wphisfi, wvolcapa, 41 walbedodat, wphisfi, wvolcapa, wz0tab, & 42 42 #else 43 43 walbedodat, winertiedat, wphisfi, & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis3.inc
r234 r315 19 19 wiceradiusN,wiceradiusS,wdtemisiceN,wdtemisiceS, & 20 20 #ifdef NEWPHYS 21 walbedodat, wphisfi, wvolcapa, 21 walbedodat, wphisfi, wvolcapa, wz0tab, & 22 22 #else 23 23 walbedodat, winertiedat, wphisfi, & … … 38 38 wiceradiusN,wiceradiusS,wdtemisiceN,wdtemisiceS, & 39 39 #ifdef NEWPHYS 40 walbedodat, wphisfi, wvolcapa, 40 walbedodat, wphisfi, wvolcapa, wz0tab, & 41 41 #else 42 42 walbedodat, winertiedat, wphisfi, & … … 57 57 wiceradiusN,wiceradiusS,wdtemisiceN,wdtemisiceS, & 58 58 #ifdef NEWPHYS 59 walbedodat, wphisfi, wvolcapa, 59 walbedodat, wphisfi, wvolcapa, wz0tab, & 60 60 #else 61 61 walbedodat, winertiedat, wphisfi, & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F
r76 r315 289 289 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 290 290 #ifdef NEWPHYS 291 292 grid%mars_z0(i,j) = 0. 293 grid%mars_z0(i,j) = grid%em_z0_gc(i,j)*0.01 !! in cm in surface.nc but in m in physiq.F 294 !IF (config_flags%init_Z0 .ne. 0.) THEN 295 ! grid%z0 = grid%z0*0. + config_flags%init_Z0 296 !ENDIF 297 291 298 ! here, that bit is necessary for new soil model ! 292 299 IF (config_flags%init_TI .ne. 0.) THEN -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F
r196 r315 866 866 & ,MARS_ISOIL=grid%mars_isoil & 867 867 & ,MARS_DSOIL=grid%mars_dsoil & 868 & ,MARS_Z0=grid%mars_z0 & 869 & ,CST_Z0=config_flags%init_Z0 & 868 870 #endif 869 871 & ,MARS_GW=grid%mars_gw & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r250 r315 35 35 MARS_ISOIL, & 36 36 MARS_DSOIL, & 37 MARS_Z0, & 38 CST_Z0, & 37 39 #endif 38 40 MARS_GW, & … … 127 129 MARS_TSOIL 128 130 #ifdef NEWPHYS 131 REAL, INTENT(IN ) :: CST_Z0 129 132 REAL, DIMENSION( ims:ime, NUM_SOIL_LAYERS, jms:jme ), INTENT(IN ) :: & 130 133 MARS_ISOIL, MARS_DSOIL 134 REAL, DIMENSION( ims:ime, jms:jme ), INTENT(IN ) :: & 135 MARS_Z0 131 136 #endif 132 137 REAL, DIMENSION( ims:ime, 5, jms:jme ), INTENT(IN ) :: & … … 186 191 #ifdef NEWPHYS 187 192 REAL,DIMENSION(:),ALLOCATABLE :: isoil_val, dsoil_val 193 REAL :: z0_val 188 194 #endif 189 195 REAL,DIMENSION(:),ALLOCATABLE :: aire_vec,lat_vec,lon_vec … … 195 201 REAL,DIMENSION(:,:),ALLOCATABLE :: wq2,wqsurf,wtsoil 196 202 #ifdef NEWPHYS 203 REAL,DIMENSION(:),ALLOCATABLE :: wz0tab 197 204 REAL,DIMENSION(:,:),ALLOCATABLE :: wisoil,wdsoil 198 205 CHARACTER*20,DIMENSION(:),ALLOCATABLE :: wtnom … … 568 575 !----------! 569 576 ! inputs ... 570 ALLOCATE(aire_vec(ngrid)) 571 ALLOCATE(lon_vec(ngrid)) 572 ALLOCATE(lat_vec(ngrid)) 573 ALLOCATE(walbedodat(ngrid)) 574 ALLOCATE(winertiedat(ngrid)) 575 ALLOCATE(wphisfi(ngrid)) 576 ALLOCATE(wzmea(ngrid)) 577 ALLOCATE(wzstd(ngrid)) 578 ALLOCATE(wzsig(ngrid)) 579 ALLOCATE(wzgam(ngrid)) 580 ALLOCATE(wzthe(ngrid)) 581 ALLOCATE(wtheta(ngrid)) 582 ALLOCATE(wpsi(ngrid)) 583 ALLOCATE(wtsurf(ngrid)) 577 IF (firstcall .EQV. .true.) THEN 578 ALLOCATE(aire_vec(ngrid))! 579 ALLOCATE(lon_vec(ngrid))! 580 ALLOCATE(lat_vec(ngrid))! 581 ALLOCATE(walbedodat(ngrid))! 582 ALLOCATE(winertiedat(ngrid))! 583 ALLOCATE(wphisfi(ngrid))! 584 ALLOCATE(wzmea(ngrid))! 585 ALLOCATE(wzstd(ngrid))! 586 ALLOCATE(wzsig(ngrid))! 587 ALLOCATE(wzgam(ngrid))! 588 ALLOCATE(wzthe(ngrid))! 589 ALLOCATE(wtheta(ngrid))! 590 ALLOCATE(wpsi(ngrid))! 591 #ifdef NEWPHYS 592 ALLOCATE(wz0tab(ngrid))! 593 #endif 594 ENDIF 595 ALLOCATE(wtsurf(ngrid)) !!!!! 584 596 #ifndef NOPHYS 585 597 ALLOCATE(output_tab2d(ngrid,n2d)) 586 598 ALLOCATE(output_tab3d(ngrid,nlayer,n3d)) 587 599 #endif 588 ALLOCATE(wco2ice(ngrid)) 589 ALLOCATE(wemis(ngrid)) 600 ALLOCATE(wco2ice(ngrid)) !!!!! 601 ALLOCATE(wemis(ngrid)) !!!!! 590 602 ALLOCATE(q2_val(nlayer+1)) 591 603 ALLOCATE(qsurf_val(nq)) … … 595 607 ALLOCATE(dsoil_val(nsoil)) 596 608 #endif 597 ALLOCATE(wq2(ngrid,nlayer+1)) 598 ALLOCATE(wqsurf(ngrid,nq)) 599 ALLOCATE(wtsoil(ngrid,nsoil)) 600 #ifdef NEWPHYS 601 ALLOCATE(wisoil(ngrid,nsoil)) 602 ALLOCATE(wdsoil(ngrid,nsoil)) 603 #endif 604 ALLOCATE(pplev(ngrid,nlayer+1)) 605 ALLOCATE(pplay(ngrid,nlayer)) 606 ALLOCATE(pphi(ngrid,nlayer)) 607 ALLOCATE(pu(ngrid,nlayer)) 608 ALLOCATE(pv(ngrid,nlayer)) 609 ALLOCATE(pt(ngrid,nlayer)) 610 ALLOCATE(pw(ngrid,nlayer)) 611 ALLOCATE(pq(ngrid,nlayer,nq)) 609 ALLOCATE(wq2(ngrid,nlayer+1)) !!!!! 610 ALLOCATE(wqsurf(ngrid,nq)) !!!!! 611 ALLOCATE(wtsoil(ngrid,nsoil)) !!!!! 612 #ifdef NEWPHYS 613 ALLOCATE(wisoil(ngrid,nsoil)) !!!!! 614 ALLOCATE(wdsoil(ngrid,nsoil)) !!!!! 615 #endif 616 ALLOCATE(pplev(ngrid,nlayer+1)) !!!!! 617 ALLOCATE(pplay(ngrid,nlayer)) !!!!! 618 ALLOCATE(pphi(ngrid,nlayer)) !!!!! 619 ALLOCATE(pu(ngrid,nlayer)) !!!!! 620 ALLOCATE(pv(ngrid,nlayer)) !!!!! 621 ALLOCATE(pt(ngrid,nlayer)) !!!!! 622 ALLOCATE(pw(ngrid,nlayer)) !!!!! 623 ALLOCATE(pq(ngrid,nlayer,nq)) !!!!! 612 624 ! interm 613 625 ALLOCATE(dz8w_prof(nlayer)) … … 624 636 #ifdef NEWPHYS 625 637 ALLOCATE(q_prof(nlayer,nq)) 626 ALLOCATE(wtnom(nq)) 638 ALLOCATE(wtnom(nq)) !!!!! 627 639 #else 628 640 ALLOCATE(water_vapor_prof(nlayer)) 629 641 ALLOCATE(water_ice_prof(nlayer)) 630 642 #endif 643 631 644 632 645 !!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 811 824 ENDIF 812 825 826 #ifdef NEWPHYS 827 !----------------------------! 828 ! Variable surface roughness ! 829 !----------------------------! 830 IF (JULYR .ne. 9999) THEN 831 IF (CST_Z0 == 0) THEN 832 z0_val = MARS_Z0(i,j) 833 ELSE 834 z0_val = CST_Z0 835 IF ( (i == ips) .AND. (j == jps) ) PRINT *,'** Mars ** SET CONSTANT SURF ROUGHNESS (m) ',CST_Z0 836 ENDIF 837 ELSE 838 IF ( (i == ips) .AND. (j == jps) ) PRINT *,'** Mars ** IDEALIZED SIMULATION z0 (m) ', CST_Z0 839 z0_val=CST_Z0 840 ENDIF 841 !!!! ADDITIONAL SECURITY. THIS MIGHT HAPPEN WITH OLD INIT FILES. 842 IF (z0_val == 0.) THEN 843 PRINT *, 'WELL, z0 is 0, this is no good. Setting to old defaults value 0.01 m' 844 z0_val = 0.01 845 ENDIF 846 #endif 847 813 848 !---------------------------------------------------------! 814 849 ! Ground geopotential ! … … 935 970 PRINT *,'dsoil ',dsoil_val 936 971 PRINT *,'q_prof ',q_prof 972 PRINT *,'z0 ',z0_val 937 973 #endif 938 974 ENDIF … … 968 1004 wisoil(subs,:) = isoil_val(:) 969 1005 wdsoil(subs,:) = dsoil_val(:) 1006 wz0tab(subs) = z0_val 970 1007 #endif 971 1008 wtheta(subs) = theta_val … … 1083 1120 DEALLOCATE(wtheta) 1084 1121 DEALLOCATE(wpsi) 1122 #ifdef NEWPHYS 1123 DEALLOCATE(wz0tab) 1124 #endif 1085 1125 ENDIF 1086 1126
Note: See TracChangeset
for help on using the changeset viewer.