Changeset 1848 for trunk/MESOSCALE
- Timestamp:
- Dec 10, 2017, 10:07:25 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_quarter_ss.F
r1765 r1848 101 101 !****Mars 102 102 INTEGER, PARAMETER :: nl_max = 1000 103 REAL, DIMENSION(nl_max) :: zk, p_in, theta, rho, u, v, qv, pd_in103 REAL, DIMENSION(nl_max) :: zk, p_in, theta, tk, rho, u, v, qv, pd_in 104 104 INTEGER :: nl_in 105 105 … … 354 354 write(6,*) ' getting dry sounding for base state ' 355 355 356 CALL get_sounding( zk, p_in, pd_in, theta, rho, u, v, qv, dry_sounding, nl_max, nl_in, &356 CALL get_sounding( zk, p_in, pd_in, theta, tk, rho, u, v, qv, dry_sounding, nl_max, nl_in, & 357 357 mulu, mulv, addu, addv ) 358 358 ENDIF … … 361 361 CALL wrf_dm_bcast_real( pd_in , nl_max ) 362 362 CALL wrf_dm_bcast_real( theta , nl_max ) 363 CALL wrf_dm_bcast_real( tk , nl_max ) 363 364 CALL wrf_dm_bcast_real( rho , nl_max ) 364 365 CALL wrf_dm_bcast_real( u , nl_max ) … … 538 539 p_level = grid%em_znu(k)*(p_surf - grid%p_top) + grid%p_top 539 540 grid%em_pb(i,k,j) = p_level 540 grid%em_t_init(i,k,j) = interp_0( theta, p_in, p_level, nl_in ) - t0 541 542 ! OLD METHOD 543 ! grid%em_t_init(i,k,j) = interp_0( theta, p_in, p_level, nl_in ) - t0 544 ! NEW METHOD: Wee et al. 2012 545 ! interpolate temperature. then convert to potential temperature. 546 grid%em_t_init(i,k,j) = interp_0( tk, p_in, p_level, nl_in ) 547 !! l un ou l autre pareil 548 grid%em_t_init(i,k,j) = - t0 + (grid%em_t_init(i,k,j) * ((p1000mb/p_level)**rcp)) 549 !grid%em_t_init(i,k,j) = - t0 + (grid%em_t_init(i,k,j) * ((610./p_level)**(1.0/3.9))) 541 550 grid%em_alb(i,k,j) = (r_d/p1000mb)*(grid%em_t_init(i,k,j)+t0)*(grid%em_pb(i,k,j)/p1000mb)**cvpm 542 551 ENDDO … … 574 583 ! dry_sounding = .false. 575 584 dry_sounding = .true. 576 CALL get_sounding( zk, p_in, pd_in, theta, rho, u, v, qv, dry_sounding, nl_max, nl_in, &585 CALL get_sounding( zk, p_in, pd_in, theta, tk, rho, u, v, qv, dry_sounding, nl_max, nl_in, & 577 586 mulu, mulv, addu, addv ) 578 587 … … 922 931 !--------------------------------------------------------------------------- 923 932 924 subroutine get_sounding( zk, p, p_dry, theta, rho, &933 subroutine get_sounding( zk, p, p_dry, theta, tk, rho, & 925 934 u, v, qv, dry, nl_max, nl_in, & 926 935 mulu, mulv, addu, addv ) … … 928 937 929 938 integer nl_max, nl_in 930 real zk(nl_max), p(nl_max), theta(nl_max), rho(nl_max), &939 real zk(nl_max), p(nl_max), theta(nl_max), tk(nl_max), rho(nl_max), & 931 940 u(nl_max), v(nl_max), qv(nl_max), p_dry(nl_max) 932 941 logical dry … … 1095 1104 p_dry(k) = p_input(k) 1096 1105 theta(k) = th_input(k) 1106 tk(k) = t_input(k) 1097 1107 rho(k) = rho_input(k) 1098 1108 u(k) = mulu*u_input(k) + addu
Note: See TracChangeset
for help on using the changeset viewer.