Changeset 2742 for trunk/MESOSCALE
- Timestamp:
- Jul 5, 2022, 11:56:26 PM (2 years ago)
- Location:
- trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/callphysiq_mod.F
r2295 r2742 30 30 ! Sanity check on physics package type 31 31 IF (debut_split) THEN 32 IF (planet_type.ne." generic") THEN32 IF (planet_type.ne."titan") THEN 33 33 PRINT*,"wrong planet_type for this physics package" 34 34 STOP -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/update_inputs_physiq_mod.F
r2367 r2742 20 20 lct_input,lon_input,ls_input,& 21 21 MY) 22 22 23 USE variables_mod, only: JD_cur,JH_cur_split,phour_ini 23 use callkeys_mod, only : tlocked 24 !use callkeys_mod, only : tlocked 25 !! JD_cur <> pday ! Julian day 26 !! JH_cur_split <> ptime ! Julian hour (fraction of day) 27 24 28 INTEGER, INTENT(IN) :: JULDAY, JULYR 25 29 REAL, INTENT(IN) :: GMT,elaps,lon_input,ls_input,lct_input 26 30 REAL,INTENT(OUT) :: MY 27 REAL :: sec,nsec 28 31 29 32 IF (JULYR .ne. 9999) THEN 33 ! 34 ! specified 35 ! 30 36 JH_cur_split = (GMT + elaps/57420.) !! universal time (0<JH_cur_split<1): JH_cur_split=0.5 at 12:00 UT 31 37 JH_cur_split = MODULO(JH_cur_split,24.) !! the two arguments of MODULO must be of the same type … … 36 42 MY = INT(MY) 37 43 ELSE 44 ! 45 ! idealized 46 ! 38 47 JH_cur_split = lct_input - lon_input / 15. + elaps/57420.0 39 JD_cur = INT((57420.0*(lct_input - lon_input / 15.) + elaps)/1378080) 40 JH_cur_split = MODULO(ptime,24.) 48 JH_cur_split = MODULO(JH_cur_split,24.) 41 49 JH_cur_split = JH_cur_split / 24. 42 JD_cur = MODULO(int(pday),365) 50 JD_cur = INT((57420.0*(lct_input - lon_input / 15.) + elaps)/1378080) !! ls2sol??? 51 JD_cur = MODULO(int(pday),365) !! 365 to be changed 43 52 MY = 2024 53 !day_ini = floor(ls2sol(ls_input)) !! JD_cur at firstcall is day_ini 44 54 ENDIF 55 print *,'** Titan ** TIME IS', JD_cur, JH_cur_split*24. 45 56 46 57 END SUBROUTINE update_inputs_physiq_time … … 303 314 REAL, DIMENSION( ims:ime, 5, jms:jme ), INTENT(IN ) :: M_GW 304 315 316 !! TITAN: constant surface roughness 317 !! see below commented part if varying is needed 318 z0 = CST_Z0 319 IF (z0 == 0.) THEN 320 PRINT *, 'WELL, z0 is 0, this is no good. Setting to default value from Tokano 2006' 321 z0 = 0.005 ! (m) value for Huygens landing site from Tokano 2006 322 ENDIF 323 305 324 !print*,'ALLOCATED(phisfi)',ALLOCATED(phisfi) 306 325 !print*,'size phisfi',size(phisfi) … … 347 366 ! Variable surface roughness ! 348 367 !----------------------------! 349 z0 = CST_Z0350 368 !IF (JULYR .ne. 9999) THEN 351 369 ! IF (CST_Z0 == 0) THEN -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/update_outputs_physiq_mod.F
r2295 r2742 14 14 !use surfdat_h, only: tsurf, co2ice, qsurf 15 15 use phys_state_var_mod, only : tsurf,qsurf 16 implicit none 16 17 17 18 INTEGER, INTENT(IN) :: ims,ime,jms,jme … … 50 51 !use comsoil_h, only: tsoil 51 52 use phys_state_var_mod, only : tsoil 53 implicit none 52 54 53 55 INTEGER, INTENT(IN) :: ims,ime,jms,jme … … 84 86 !use dimradmars_mod, only: fluxrad 85 87 use phys_state_var_mod, only : fluxrad 88 implicit none 86 89 87 90 INTEGER, INTENT(IN) :: ims,ime,jms,jme … … 119 122 !hfmax_th,zmax_th 120 123 !use phys_state_var_mod, only : q2,sensibFlux 124 implicit none 121 125 122 126 INTEGER, INTENT(IN) :: ims,ime,jms,jme,kms,kme 123 INTEGER, INTENT(IN) :: ips,ipe,jps,jpe 124 INTEGER :: i,j,subs 127 INTEGER, INTENT(IN) :: ips,ipe,jps,jpe,kps,kpe 128 INTEGER :: i,j,subs 125 129 REAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: & 126 130 M_WSTAR,HFMAX,ZMAX,USTM,HFX 127 131 REAL, DIMENSION( ims:ime, kms:kme+1, jms:jme ), INTENT(INOUT) :: M_Q2 128 132 129 133 DO j = jps,jpe 130 134 DO i = ips,ipe … … 140 144 M_Q2(i,kps:kpe+1,j) = q2(subs,:) 141 145 M_WSTAR(i,j) = wstar(subs) 146 142 147 !! output only (arrays already in phys modules) 143 148 !HFMAX(i,j) = HFMAX_TH(subs) 144 149 !ZMAX(i,j) = ZMAX_TH(subs) 145 150 USTM(i,j) = ustar(subs) 146 HFX(i,j) = sensibFlux(subs) ! *-1 ????? 151 HFX(i,j) = sensibFlux(subs) !! test like Mars 152 !!! sensible heat flux 153 !!! ... minus sign important because 154 !!! ... in physics sensibFlux is AtmToSurf_TurbFlux 155 !HFX(i,j) = -sensibFlux(subs) 147 156 148 157 ENDDO … … 163 172 RAIN,SNOW,REEVAP,SURFRAIN,ALBEQ,FLUXTOP_DN,FLUXABS_SW,FLUXTOP_LW,FLUXSURF_SW,& 164 173 FLUXSURF_LW,FLXGRD,LSCEZ,H2OICE_REFF,LATENT_HF) 165 174 166 175 USE comm_wrf !! to get fields to be written from physiq 167 176 … … 178 187 INTEGER :: i,j,subs 179 188 189 180 190 DO j = jps,jpe 181 191 DO i = ips,ipe … … 189 199 HR_SW(i,kps:kpe,j) = comm_HR_SW(subs,kps:kpe) 190 200 HR_LW(i,kps:kpe,j) = comm_HR_LW(subs,kps:kpe) 201 FLUXTOP_DN(i,j)=comm_FLUXTOP_DN(subs) 202 FLUXABS_SW(i,j)=comm_FLUXABS_SW(subs) 203 FLUXTOP_LW(i,j)=comm_FLUXTOP_LW(subs) 204 FLUXSURF_SW(i,j)=comm_FLUXSURF_SW(subs) 205 FLUXSURF_LW(i,j)=comm_FLUXSURF_LW(subs) 206 FLXGRD(i,j)=comm_FLXGRD(subs) 191 207 192 208 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.