Changeset 3719 for LMDZ6/branches/Ocean_skin
- Timestamp:
- Jun 12, 2020, 9:31:02 PM (4 years ago)
- Location:
- LMDZ6/branches/Ocean_skin/libf/phylmd
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Ocean_skin/libf/phylmd/pbl_surface_mod.F90
r3687 r3719 293 293 USE ioipsl_getin_p_mod, ONLY : getin_p 294 294 use phys_state_var_mod, only: s_int, ds_ns, dt_ns 295 use phys_output_var_mod, only: t_int, dter, dser, tkt, tks, taur295 use phys_output_var_mod, only: sst_nff, dter, dser, tkt, tks, taur 296 296 #ifdef CPP_XIOS 297 297 USE wxios, ONLY: missing_val … … 830 830 ! Martin 831 831 832 real, DIMENSION(klon):: y t_int, ys_int, yds_ns, ydt_ns, ydter, ydser, &832 real, DIMENSION(klon):: ysst_nff, ys_int, yds_ns, ydt_ns, ydter, ydser, & 833 833 ytkt, ytks, ytaur 834 ! compression of t_int, s_int, ds_ns, dt_ns, dter, dser, tkt, tks,834 ! compression of sst_nff, s_int, ds_ns, dt_ns, dter, dser, tkt, tks, 835 835 ! taur on ocean points 836 836 … … 1954 1954 yz0m, yz0h, SFRWL,yalb_dir_new, yalb_dif_new, yevap, yfluxsens,yfluxlat,& 1955 1955 ytsurf_new, y_dflux_t, y_dflux_q, slab_wfbils, & 1956 y_flux_u1, y_flux_v1, y t_int(:knon), ys_int(:knon), &1956 y_flux_u1, y_flux_v1, ysst_nff(:knon), ys_int(:knon), & 1957 1957 yds_ns(:knon), ydt_ns(:knon), ydter(:knon), ydser(:knon), & 1958 1958 ytkt(:knon), ytks(:knon), ytaur(:knon)) … … 2564 2564 ds_ns = missing_val 2565 2565 dt_ns = missing_val 2566 t_int= missing_val2566 sst_nff = missing_val 2567 2567 dter = missing_val 2568 2568 dser = missing_val … … 2574 2574 ds_ns(ni(:knon)) = yds_ns(:knon) 2575 2575 dt_ns(ni(:knon)) = ydt_ns(:knon) 2576 t_int(ni(:knon)) = yt_int(:knon)2576 sst_nff(ni(:knon)) = ysst_nff(:knon) 2577 2577 dter(ni(:knon)) = ydter(:knon) 2578 2578 dser(ni(:knon)) = ydser(:knon) -
LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_ctrlout_mod.F90
r3687 r3719 1947 1947 #endif 1948 1948 1949 type(ctrl_out), save:: o_ t_int&1950 = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], ' T_int', &1951 " ocean-air interface temperature", "K", '')1949 type(ctrl_out), save:: o_sst_nff & 1950 = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'SST_nff', & 1951 "SST not used to compute fluxes", "K", '') 1952 1952 1953 1953 type(ctrl_out), save:: o_s_int & -
LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_var_mod.F90
r3687 r3719 135 135 ! Ocean-atmosphere interface, subskin ocean and near-surface ocean: 136 136 137 REAL, ALLOCATABLE, SAVE:: t_int(:) ! interface temperature, in K 137 REAL, ALLOCATABLE, SAVE:: sst_nff(:) 138 ! SST not used to compute surface fluxes, in K. If 139 ! activate_ocean_skin == 0 then it is not allocated; if 140 ! activate_ocean_skin == 1 then it is the ocean-air interface 141 ! temperature; if activate_ocean_skin == 2 then it is the bulk SST. 138 142 139 143 REAL, ALLOCATABLE, SAVE:: dter(:) … … 155 159 ! momentum flux due to rain, in Pa 156 160 157 !$OMP THREADPRIVATE( t_int, dter, dser, tkt, tks, taur)161 !$OMP THREADPRIVATE(sst_nff, dter, dser, tkt, tks, taur) 158 162 159 163 CONTAINS … … 216 220 IF (ok_gwd_rando) allocate(zustr_gwd_rando(klon), zvstr_gwd_rando(klon)) 217 221 218 if (activate_ocean_skin >= 1) allocate( t_int(klon), dter(klon), &222 if (activate_ocean_skin >= 1) allocate(sst_nff(klon), dter(klon), & 219 223 dser(klon), tkt(klon), tks(klon), taur(klon)) 220 224 -
LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_write_mod.F90
r3687 r3719 202 202 !--interactive CO2 203 203 o_flx_co2_ocean, o_flx_co2_land, o_flx_co2_ff, o_flx_co2_bb, & 204 o_ t_int, o_s_int, o_ds_ns, o_dt_ns, o_dter, o_dser, o_tkt, o_tks, &204 o_sst_nff, o_s_int, o_ds_ns, o_dt_ns, o_dter, o_dser, o_tkt, o_tks, & 205 205 o_taur 206 206 … … 360 360 alt_tropo, & 361 361 !Ionela 362 ok_4xCO2atm, t_int, dter, dser, tkt, tks, taur362 ok_4xCO2atm, sst_nff, dter, dser, tkt, tks, taur 363 363 364 364 USE ocean_slab_mod, ONLY: nslay, tslab, slab_bilg, tice, seaice, & … … 2304 2304 2305 2305 if (activate_ocean_skin >= 1) then 2306 if (activate_ocean_skin == 1) CALL histwrite_phy(o_t_int, t_int) 2307 ! (no need to duplicate with netCDF variable "tsol_oce" if 2308 ! activate_ocean_skin == 2) 2309 2306 CALL histwrite_phy(o_sst_nff, sst_nff) 2310 2307 CALL histwrite_phy(o_s_int, s_int) 2311 2308 CALL histwrite_phy(o_ds_ns, ds_ns) -
LMDZ6/branches/Ocean_skin/libf/phylmd/surf_ocean_mod.F90
r3687 r3719 20 20 z0m, z0h, SFRWL, alb_dir_new, alb_dif_new, evap, fluxsens, fluxlat, & 21 21 tsurf_new, dflux_s, dflux_l, lmt_bils, & 22 flux_u1, flux_v1, t_int, s_int, ds_ns, dt_ns, dter, dser, tkt, tks, taur)22 flux_u1, flux_v1, sst_nff, s_int, ds_ns, dt_ns, dter, dser, tkt, tks, taur) 23 23 24 24 use albedo, only: alboc, alboc_cd … … 102 102 REAL, DIMENSION(klon), INTENT(OUT) :: flux_u1, flux_v1 103 103 104 REAL, intent(out):: t_int(:) ! (knon) ocean-air interface temperature, in K 104 REAL, intent(out):: sst_nff(:) ! (knon) 105 ! SST not used to compute surface fluxes, in K. If 106 ! activate_ocean_skin == 0 then it is not defined; if 107 ! activate_ocean_skin == 1 then it is the ocean-air interface 108 ! temperature; if activate_ocean_skin == 2 then it is the bulk SST. 105 109 106 110 REAL, intent(out):: dter(:) ! (knon) … … 140 144 ! size klon because of the coupling machinery.) 141 145 142 ! End definition 146 REAL t_int(knon) ! ocean-air interface temperature, in K 147 143 148 !****************************************************************************** 144 149 … … 321 326 xlv = [(rlvtt, i = 1, knon)], rf = - sens_prec_liq, dtime = dtime, & 322 327 rns = swnet(:knon)) 323 if (activate_ocean_skin == 2) tsurf_new(:knon) = t_int 328 329 if (activate_ocean_skin == 1) then 330 sst_nff = t_int 331 else 332 ! activate_ocean_skin == 2 333 sst_nff = tsurf_new(:knon) 334 tsurf_new(:knon) = t_int 335 end if 324 336 end if 325 337
Note: See TracChangeset
for help on using the changeset viewer.