Changeset 772 for trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars
- Timestamp:
- Sep 5, 2012, 5:12:50 PM (13 years ago)
- Location:
- trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/Registry.EM
r766 r772 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" 116 state real qdust ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "qdust" "Dust mixing ratio" "kg kg-1" 117 state real qndust ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "qndust" "Dust number density" " m-3 " 117 118 state real qtrac1 ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "qtrac1" "Decaying tracer 1" "kg kg-1" 118 119 state real upward ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "upward" "Decaying tracer surf" "kg kg-1" … … 232 233 state real mars_dsoil ilj misc 1 - i012rd "MARS_DSOIL" "soil depths" "m" 233 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" " " 234 237 #### 235 238 #### … … 1496 1499 package water mars==1 - moist:qv;scalar:qh2o,qh2o_ice 1497 1500 package dust mars==2 - moist:qv;scalar:qdust 1501 package dust2eq mars==3 - scalar:qdust,qndust 1498 1502 package radioac mars==20 - scalar:qtrac1 1499 1503 package radioac2 mars==21 - scalar:upward,downward -
trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_first_rk_step_part1.F
r678 r772 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 & 633 635 #endif 634 636 & ,MARS_GW=grid%mars_gw & -
trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F
r674 r772 114 114 !!MARS 115 115 REAL :: lon_input, lat_input, alt_input, tsurf_input 116 ! for mode 3 117 LOGICAL :: MARS_MODE_INIT 118 REAL, DIMENSION(nl_max) :: qdust,qndust,dust_p_level 116 119 !!MARS 117 120 … … 346 349 grid%mars_tsurf(i,j)=0. 347 350 !! << 351 !! >> Used for mode 3: 352 grid%mars_qdust(i,:,j)=0. 353 grid%mars_qndust(i,:,j)=0. 354 !! << 348 355 grid%slpx(i,j) = 0. 349 356 grid%slpy(i,j) = 0. … … 690 697 print *, 'constant meridional wind ', config_flags%init_V 691 698 ENDIF 699 692 700 !!!MARS MARS 693 701 … … 754 762 ENDDO 755 763 ENDDO 764 765 !!!!! MARS INITIALIZE MODE 3 FOR LES 766 767 !! RESTART=config_flags%restart -> this routine is not used in restart 768 769 MARS_MODE_INIT=config_flags%mars 770 771 IF (MARS_MODE_INIT .EQ. 3) THEN 772 write (*,*) 'MARS MODE 3 INITIALIZATION, READING INPUT_DUST (module_initialize_les.F)' 773 ! load a profile of dust (same for all points) 774 call read_dust(qdust,qndust,dust_p_level,nl_in) 775 p_level = grid%znu(1)*(pd_surf - grid%p_top) + grid%p_top 776 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. 777 dust_p_level = dust_p_level * p_level/dust_p_level(1) 778 ENDIF 779 DO k=1,kte-1 780 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 ) 783 ENDDO 784 ENDIF 785 786 !!!!! MARS 787 756 788 757 789 END SUBROUTINE init_domain_rk … … 1008 1040 end subroutine read_therm 1009 1041 1042 !!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 1043 subroutine read_dust(qdust,qndust,dust_p_level,n) 1044 implicit none 1045 integer n 1046 real qdust(n),qndust(n),dust_p_level(n) 1047 logical end_of_file 1048 1049 integer k 1050 1051 ! first element is the surface 1052 1053 open(unit=11,file='input_dust',form='formatted',status='old') 1054 rewind(11) 1055 end_of_file = .false. 1056 k = 0 1057 do while (.not. end_of_file) 1058 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) 1061 k = k+1 1062 go to 113 1063 102 end_of_file = .true. 1064 113 continue 1065 enddo 1066 1067 close(unit=11,status = 'keep') 1068 1069 end subroutine read_dust 1070 !!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 1071 1072 1010 1073 END MODULE module_initialize_ideal
Note: See TracChangeset
for help on using the changeset viewer.