Changeset 774 for trunk/MESOSCALE/LMD_MM_MARS/SRC
- Timestamp:
- Sep 6, 2012, 1:12:13 AM (12 years ago)
- Location:
- trunk/MESOSCALE/LMD_MM_MARS/SRC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/Registry.EM
r772 r774 114 114 state real QH2O ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QH2O" "Water vapor mixing ratio" "kg kg-1" 115 115 state real QH2O_ICE ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QH2O_ICE" "Water ice mixing ratio" "kg kg-1" 116 state real qdust ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) " qdust" "Dust mixing ratio" "kg kg-1"117 state real q ndust ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "qndust" "Dust number density" " m-3 "116 state real qdust ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QDUST" "Dust mixing ratio" "kg kg-1" 117 state real qdustn ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QDUSTN" "Dust number density" " m-3 " 118 118 state real qtrac1 ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "qtrac1" "Decaying tracer 1" "kg kg-1" 119 119 state real upward ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "upward" "Decaying tracer surf" "kg kg-1" … … 233 233 state real mars_dsoil ilj misc 1 - i012rd "MARS_DSOIL" "soil depths" "m" 234 234 state real mars_gw ilj misc 1 - i012rd "MARS_GW" "gwparam" " " 235 state real mars_qdust ikj misc 1 - i012rd "MARS_QDUST" "dust mass mixing ratio" "kg/kg"236 state real mars_qndust ikj misc 1 - i012rd "MARS_QNDUST" "dust number density" " "237 235 #### 238 236 #### … … 1499 1497 package water mars==1 - moist:qv;scalar:qh2o,qh2o_ice 1500 1498 package dust mars==2 - moist:qv;scalar:qdust 1501 package dust2eq mars==3 - scalar:qdust,q ndust1499 package dust2eq mars==3 - scalar:qdust,qdustn 1502 1500 package radioac mars==20 - scalar:qtrac1 1503 1501 package radioac2 mars==21 - scalar:upward,downward -
trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_first_rk_step_part1.F
r772 r774 631 631 & ,MARS_Z0=grid%mars_z0 & 632 632 & ,CST_Z0=config_flags%init_Z0 & 633 & ,MARS_QDUST=grid%mars_qdust &634 & ,MARS_QNDUST=grid%mars_qndust &635 633 #endif 636 634 & ,MARS_GW=grid%mars_gw & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F
r772 r774 115 115 REAL :: lon_input, lat_input, alt_input, tsurf_input 116 116 ! for mode 3 117 LOGICAL :: MARS_MODE_INIT 118 REAL, DIMENSION(nl_max) :: qdust,qndust,dust_p_level 117 REAL, DIMENSION(nl_max) :: profdustq,profdustn,dust_p_level 119 118 !!MARS 120 119 … … 349 348 grid%mars_tsurf(i,j)=0. 350 349 !! << 351 !! >> Used for mode 3:352 grid%mars_qdust(i,:,j)=0.353 grid%mars_qndust(i,:,j)=0.354 !! <<355 350 grid%slpx(i,j) = 0. 356 351 grid%slpy(i,j) = 0. … … 764 759 765 760 !!!!! MARS INITIALIZE MODE 3 FOR LES 766 767 761 !! RESTART=config_flags%restart -> this routine is not used in restart 768 762 769 MARS_MODE_INIT=config_flags%mars 770 771 IF (MARS_MODE_INIT .EQ. 3) THEN 763 IF ( ( config_flags%mars == 3 ) ) then 764 772 765 write (*,*) 'MARS MODE 3 INITIALIZATION, READING INPUT_DUST (module_initialize_les.F)' 773 766 ! load a profile of dust (same for all points) 774 call read_dust( qdust,qndust,dust_p_level,nl_in)767 call read_dust(profdustq,profdustn,dust_p_level,nl_in) 775 768 p_level = grid%znu(1)*(pd_surf - grid%p_top) + grid%p_top 776 769 IF (dust_p_level(1) .lt. p_level) then !input profile needs rescaling to avoid a plateau. This happens when you use different sources to initialize the pressure of the LES and the input_dust. Typicaly: you use the MCD for input_therm and different runs for input_dust, that dont have the same surface pressure ! This trick is ok because we dont want to initialize with a very precise profile of dust, just a realistic one. … … 779 772 DO k=1,kte-1 780 773 p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top 781 grid%mars_qdust(its:ite,k,jts:jte)=interp_0( qdust, dust_p_level, p_level, nl_in ) 782 grid%mars_qndust(its:ite,k,jts:jte)=interp_0( qndust, dust_p_level, p_level, nl_in ) 774 print *, '**** INTERPOLATE DUSTQ **** RANK 2 in SCALAR' 775 scalar(its:ite,k,jts:jte,2) = interp_0( profdustq, dust_p_level, p_level, nl_in ) 776 print *, '**** INTERPOLATE DUSTN **** RANK 3 in SCALAR' 777 scalar(its:ite,k,jts:jte,3) = interp_0( profdustn, dust_p_level, p_level, nl_in ) 783 778 ENDDO 784 779 ENDIF … … 1041 1036 1042 1037 !!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 1043 subroutine read_dust( qdust,qndust,dust_p_level,n)1038 subroutine read_dust(pdustq,pdustn,dust_p_level,n) 1044 1039 implicit none 1045 1040 integer n 1046 real qdust(n),qndust(n),dust_p_level(n)1041 real pdustq(n),pdustn(n),dust_p_level(n) 1047 1042 logical end_of_file 1048 1043 … … 1057 1052 do while (.not. end_of_file) 1058 1053 1059 read(11,*,end=102) qdust(k+1), qndust(k+1), dust_p_level(k+1)1060 write(*,*) k, qdust(k+1), qndust(k+1), dust_p_level(k+1)1054 read(11,*,end=102) pdustq(k+1),pdustn(k+1), dust_p_level(k+1) 1055 write(*,*) k, pdustq(k+1), pdustn(k+1), dust_p_level(k+1) 1061 1056 k = k+1 1062 1057 go to 113 -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r772 r774 41 41 MARS_Z0, & 42 42 CST_Z0, & 43 MARS_QDUST, &44 MARS_QNDUST, &45 43 #endif 46 44 MARS_GW, & … … 146 144 REAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT ) :: & 147 145 MARS_FLUXRAD,MARS_WSTAR 148 REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(IN ) :: &149 MARS_QDUST, MARS_QNDUST150 146 #endif 151 147 REAL, DIMENSION( ims:ime, 5, jms:jme ), INTENT(IN ) :: & … … 868 864 !--------------------------------! 869 865 #ifdef NEWPHYS 870 !!! Initialize SCALAR for MODE 3.871 IF ((MARS_MODE .EQ. 3) .and. (firstcall .EQV. .true.) .and. (.not. restart)) THEN872 SCALAR(i,kps:kpe,j,2)=MARS_QDUST(i,kps:kpe,j)873 SCALAR(i,kps:kpe,j,3)=MARS_QNDUST(i,kps:kpe,j)874 ENDIF875 866 IF (MARS_MODE .EQ. 0) THEN 876 867 q_prof(:,1)=0.95
Note: See TracChangeset
for help on using the changeset viewer.