Changeset 2934
- Timestamp:
- Apr 10, 2023, 4:36:39 PM (20 months ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r2933 r2934 3993 3993 ==03/04/2023 == RV 3994 3994 Small correction in write_output_mod following r2932 3995 3996 == 10/04/2023 == EM 3997 A first step in cleaning up outputs and adding field definitions for XIOS. 3998 -
trunk/LMDZ.MARS/deftank/context_lmdz_physics.xml
r2547 r2934 91 91 name="Xhistins" 92 92 output_freq="12ts" 93 time_units="days" 93 94 type="one_file" 94 95 enabled=".true."> … … 97 98 <field_group operation="instant" 98 99 freq_op="1ts"> 99 <field field_ref=" ls" />100 <field field_ref="Ls" /> 100 101 </field_group> 101 102 … … 107 108 <field field_ref="tsurf" /> 108 109 <field field_ref="co2ice" /> 109 <field field_ref=" ISR" />110 <field field_ref=" OLR" />110 <field field_ref="fluxsurf_dn_sw" name="ISR" /> 111 <field field_ref="fluxtop_lw" name="OLR" /> 111 112 </field_group> 112 113 … … 114 115 <field_group operation="instant" 115 116 freq_op="1ts"> 116 <field field_ref="temp erature" />117 <field field_ref="temp" /> 117 118 <field field_ref="u" /> 118 119 <field field_ref="v" /> … … 122 123 <field_group operation="instant" 123 124 freq_op="1ts"> 124 <field field_ref=" tsoil" />125 <field field_ref="soiltemp" name="tsoil" /> 125 126 <field field_ref="inertiedat" /> 126 127 </field_group> … … 131 132 name="Xdiurnalave" 132 133 output_freq="1d" 134 time_units="days" 133 135 type="one_file" 134 136 enabled=".false."> … … 137 139 <field_group operation="average" 138 140 freq_op="1ts"> 139 <field field_ref=" ls" />141 <field field_ref="Ls" /> 140 142 </field_group> 141 143 … … 150 152 <field_group operation="average" 151 153 freq_op="1ts"> 152 <field field_ref="temp erature" />154 <field field_ref="temp" /> 153 155 <field field_ref="u" /> 154 156 <field field_ref="v" /> -
trunk/LMDZ.MARS/deftank/field_def_physics_mars.xml
r2547 r2934 10 10 <!-- 0D variables --> 11 11 <field_group id="fields_0D" grid_ref="scalarpoint"> 12 <field id=" ls"12 <field id="Ls" 13 13 long_name="Solar longitude" 14 14 unit="degrees" /> 15 <field id="Sols" 16 long_name="Time" 17 unit="sols" /> 18 19 <!-- planetary escape fluxes --> 20 <field id="PhiH" 21 long_name="H escape flux" 22 unit="s-1" /> 23 <field id="PhiH2" 24 long_name="H2 escape flux" 25 unit="s-1" /> 26 <field id="PhiD" 27 long_name="D escape flux" 28 unit="s-1" /> 29 30 <field id="co2conservation" 31 long_name="Total CO2 mass conservation in physic" 32 unit="kg" /> 33 15 34 </field_group> 16 35 … … 37 56 <!-- 2D variables --> 38 57 <field_group id="fields_2D" domain_ref="dom_glo"> 58 <field id="area" 59 long_name="Mesh area" 60 unit="m2" /> 61 <field id="phisfi" 62 long_name="Surface geopotential" 63 unit="m2.s-2" /> 64 <field id="emis" 65 long_name="Surface emissivity" 66 unit="" /> 67 <field id="emis_slope01" 68 long_name="Surface emissivity of slope 01" 69 unit="" /> 70 <field id="albedo" 71 long_name="Albedo of the surface" 72 unit="" /> 73 <field id="albedo_slope01" 74 long_name="Albedo of the surface for slope 01" 75 unit="" /> 76 77 <field id="local_time" 78 long_name="Local time" 79 unit="sol" /> 80 39 81 <field id="ps" 40 82 long_name="Surface Pressure" 41 83 unit="Pa" /> 42 <field id="area"43 long_name="Mesh area"44 unit="m2" />45 84 <field id="tsurf" 46 85 long_name="Surface Temperature" 47 86 unit="K" /> 87 <field id="tsurf_slope01" 88 long_name="Surface Temperature of slope 01" 89 unit="K" /> 90 <field id="temp_layer1" 91 long_name="Temperature in layer 1" 92 unit="K" /> 93 <field id="temp7" 94 long_name="Temperature in layer 7" 95 unit="K" /> 96 97 <!-- Radiation --> 98 <field id="fluxsurf_lw" 99 long_name="Longwave radiation at the surface" 100 unit="W.m-2" /> 101 <field id="fluxsurf_lw_slope01" 102 long_name="Longwave radiation at the surface on slope 01" 103 unit="W.m-2" /> 104 <field id="fluxtop_lw" 105 long_name="Longwave radiation at the top of the atmosphere" 106 unit="W.m-2" /> 107 108 <field id="fluxsurf_dn_sw" 109 long_name="Incoming shortwave radiation at the surface" 110 unit="W.m-2" /> 111 <field id="fluxsurf_dn_sw_slope01" 112 long_name="Incoming shortwave radiation at the surface on slope 01" 113 unit="W.m-2" /> 114 <field id="fluxtop_up_sw" 115 long_name="Upward shortwave radiation at the top of the atmosphere" 116 unit="W.m-2" /> 117 118 <!-- dust cycle --> 119 <field id="tau_pref_scenario" 120 long_name="Prescribed visible dust optical depth at 610Pa" 121 unit="" /> 122 <field id="tau_pref_gcm" 123 long_name="Visible dust optical depth at 610Pa in the GCM" 124 unit="" /> 125 <field id="IRtoVIScoef" 126 long_name="Conversion coeff for dust tau from abs9.3um to ext0.67um" 127 unit="" /> 128 <field id="IRtoVIScoef" 129 long_name="Conversion coeff for dust tau from abs9.3um to ext0.67um" 130 unit="" /> 131 <field id="dust_rad_adjust" 132 long_name="radiative adjustment coefficient for dust" 133 unit="" /> 134 135 <field id="dqsdust" 136 long_name="deposited surface dust mass" 137 unit="kg.m-2.s-1" /> 138 <field id="dqndust" 139 long_name="deposited surface dust number" 140 unit="number.m-2.s-1" /> 141 <field id="dqsdifdustq" 142 long_name="tendency due to vertical diffusion of background dust on surface" 143 unit="kg.m-2.s-1" /> 144 <field id="dqsdifdustq_slope01" 145 long_name="tendency due to vertical diffusion of background dust on surface" 146 unit="kg.m-2.s-1" /> 147 <field id="dqsdifrdsq" 148 long_name="tendency due to vertical diffusion of stormdust on surface" 149 unit="kg.m-2.s-1" /> 150 <field id="dqsdifrdsq_slope01" 151 long_name="tendency due to vertical diffusion of stormdust on surface" 152 unit="kg.m-2.s-1" /> 153 154 155 <field id="tau_pref_target" 156 long_name="target visible dust opacity column at 610Pa" 157 unit="" /> 158 <field id="dtau" 159 long_name="opacity difference wrt scenario" 160 unit="" /> 161 <field id="dustliftday" 162 long_name="dust injection rate" 163 unit="s-1" /> 164 165 <field id="stormfract" 166 long_name="fraction of the mesh with stormdust" 167 unit="none" /> 168 <field id="mstormdtot" 169 long_name="total mass of stormdust in the column" 170 unit="kg.m-2" /> 171 <field id="mdusttot" 172 long_name="total mass of background dust in the column" 173 unit="kg.m-2" /> 174 <field id="rdsdqsdust" 175 long_name="deposited surface stormdust mass rate" 176 unit="kg.m-2.s-1" /> 177 <field id="zdqssed_dust_mass" 178 long_name="sedimentation tendency of background dust on surface" 179 unit="kg.m-2.s-1" /> 180 181 <!-- water cycle --> 182 <field id="watercap" 183 long_name="Perennial water ice thickness" 184 unit="kg.m-2" /> 185 <field id="watercap_slope01" 186 long_name="Perennial water ice thickness of slope 01" 187 unit="kg.m-2" /> 188 <field id="surf_h2o_lh" 189 long_name="Ground ice latent heat flux" 190 unit="W.m-2" /> 191 <field id="tauTES" 192 long_name="Water ice cloud opacity at TES abs 825 cm-1" 193 unit="" /> 194 <field id="mtot" 195 long_name="Total mass of water vapor in the column" 196 unit="kg.m-2" /> 197 <field id="icetot" 198 long_name="Total mass of water ice in the atmospheric column" 199 unit="kg.m-2" /> 200 <field id="reffice" 201 long_name="Mean effective radius of water ice in the atmospheric column" 202 unit="m" /> 203 <field id="Nccntot" 204 long_name="Number of water condensation nuclei in the atmospheric column" 205 unit="nbr.m-2" /> 206 <field id="Mccntot" 207 long_name="Mass of water condensation nuclei in the atmospheric column" 208 unit="kg.m-2" /> 209 <field id="h2o_ice_s" 210 long_name="Mass of water ice on the surface" 211 unit="kg.m-2" /> 212 <field id="h2o_ice_s_slope01" 213 long_name="Mass of water ice on the surface of slope 01" 214 unit="kg.m-2" /> 215 216 <!-- CO2 cycle --> 48 217 <field id="co2ice" 49 218 long_name="CO2 ice thickness" 50 unit="kg/m2" /> 51 <field id="OLR" 52 long_name="outgoing longwave radiation" 53 unit="W/m2" /> 54 <field id="ISR" 55 long_name="incoming solar radiation" 56 unit="W/m2" /> 57 <field id="phisinit" 58 long_name="Geopotential at the surface" 59 unit="" /> 219 unit="kg.m-2" /> 220 <field id="co2ice_slope01" 221 long_name="CO2 ice thickness on slope 01" 222 unit="kg.m-2" /> 223 224 <field id="co2condens_zfallice" 225 long_name="CO2 ice tendency on the surface" 226 unit="kg.m-2.s-1" /> 227 228 <!-- Thermals parametrization --> 229 <field id="lmax_th" 230 long_name="index of vertical extension of thermals" 231 unit="grid level" /> 232 <field id="zmax_th" 233 long_name="vertical extension of thermals" 234 unit="m" /> 235 <field id="hfmax_th" 236 long_name="maximum heat flux in thermals" 237 unit="K.m/s" /> 238 <field id="wstar" 239 long_name="maximum vertical velocity in thermals" 240 unit="m/s" /> 241 60 242 </field_group> 61 243 … … 63 245 <field_group id="fields_3D" domain_ref="dom_glo" axis_ref="altitude"> 64 246 <!--<field_group id="fields_3D" grid_ref="grid_3d">--> 65 <field id="temperature" 247 248 <field id="zzlay" 249 long_name="Midlayer altitude" 250 unit="m" /> 251 <field id="zzlev" 252 long_name="Interlayer altitude" 253 unit="m" /> 254 <field id="pphi" 255 long_name="Geopotential" 256 unit="m2.s-2" /> 257 258 <!-- main meteorological fields --> 259 <field id="temp" 66 260 long_name="Atmospheric temperature" 67 261 unit="K" /> 68 262 <field id="u" 69 263 long_name="Eastward Zonal Wind" 70 unit="m /s" />264 unit="m.s-1" /> 71 265 <field id="v" 72 266 long_name="Northward Meridional Wind" 73 unit="m/s" /> 267 unit="m.s-1" /> 268 <field id="w" 269 long_name="Vertical Wind (positive when downward)" 270 unit="m.s-1" /> 271 <field id="rho" 272 long_name="Atmospheric density" 273 unit="kg.m-3" /> 274 <field id="pressure" 275 long_name="Atmospheric pressure" 276 unit="Pa" /> 277 <field id="zplev" 278 long_name="Interlayer pressure" 279 unit="Pa" /> 280 281 <!-- heating rates --> 282 <field id="dtrad" 283 long_name="total radiative heating rate" 284 unit="K.s-1" /> 285 <field id="sw_htrt" 286 long_name="Shortwave heating rate" 287 unit="K.s-1" /> 288 <field id="lw_htrt" 289 long_name="Longwave heating rate" 290 unit="K.s-1" /> 291 <field id="q15um" 292 long_name="15 um cooling" 293 unit="K.s-1" /> 294 <field id="qnir" 295 long_name="NIR heating rate" 296 unit="K.s-1" /> 297 <field id="quv" 298 long_name="EUV heating rate" 299 unit="K.s-1" /> 300 <field id="cond" 301 long_name="Thermal conduction heating rate" 302 unit="K.s-1" /> 303 304 <!-- tracers --> 74 305 <field id="co2" 75 306 long_name="co2 mass mixing ratio" 76 307 unit="kg/kg" /> 308 <field id="h2o_ice" 309 long_name="water ice mass mixing ratio" 310 unit="kg/kg" /> 311 <field id="vmr_h2oice" 312 long_name="water ice volume mixing ratio" 313 unit="mol/mol" /> 314 <field id="h2o_vap" 315 long_name="water vapor mass mixing ratio" 316 unit="kg/kg" /> 317 <field id="vmr_h2ovap" 318 long_name="water vapor volume mixing ratio" 319 unit="mol/mol" /> 320 321 <!-- Dust cycle parametrization --> 322 <field id="reffdust" 323 long_name="Dust effective radius" 324 unit="m" /> 325 <field id="rdust" 326 long_name="Dust radius" 327 unit="m" /> 328 <field id="dustq" 329 long_name="Dust mass mixing ratio" 330 unit="kg/kg" /> 331 <field id="dustN" 332 long_name="Dust number mixing ratio" 333 unit="part/kg" /> 334 <field id="dsodust_TES" 335 long_name="Density scaled extinction opacity of std dust at 9.3um(TES)" 336 unit="m2.kg-1" /> 337 <field id="dso_TES" 338 long_name="Density scaled extinction opacity of all dust at 9.3um(TES)" 339 unit="m2.kg-1" /> 340 <field id="dsodust" 341 long_name="Density scaled extinction opacity of std dust at 21.6um(MCS)" 342 unit="m2.kg-1" /> 343 <field id="dso" 344 long_name="Density scaled extinction opacity of all dust at 21.6um(MCS)" 345 unit="m2.kg-1" /> 346 <field id="aerosol_dust" 347 long_name="Opacity of background dust" 348 unit="" /> 349 350 <field id="reffstormdust" 351 long_name="Stormdust dust effective radius" 352 unit="m" /> 353 <field id="rstormdust" 354 long_name="Stormdust dust radius" 355 unit="m" /> 356 <field id="dsords_TES" 357 long_name="Density scaled extinction opacity of stormdust at 9.3um(TES)" 358 unit="m2.kg-1" /> 359 <field id="dsords" 360 long_name="Density scaled extinction opacity of stormdust at 21.6um(MCS)" 361 unit="m2.kg-1" /> 362 <field id="rdsdustq" 363 long_name="Stormdust dust mass mixing ratio" 364 unit="kg/kg" /> 365 <field id="rdsdustqmodel" 366 long_name="Stormdust dust mass mixing ratio" 367 unit="kg/kg" /> 368 <field id="rdsdustN" 369 long_name="Stormdust dust number mixing ratio" 370 unit="part/kg" /> 371 <field id="rdsdustN" 372 long_name="Stormdust dust number mixing ratio" 373 unit="part/kg" /> 374 <field id="wspeed_stormdust" 375 long_name="vertical velocity of stormdust" 376 unit="m/s" /> 377 <field id="zdqsed_dust_mass" 378 long_name="sedimentation tendency of background dust mmr" 379 unit="kg/kg.s-1" /> 380 <field id="zdqsed_dust_number" 381 long_name="sedimentation tendency of background dust number" 382 unit="nbr/kg.s-1" /> 383 <field id="zdqsed_stormdust_mass" 384 long_name="sedimentation tendency of stormdust dust mmr" 385 unit="kg/kg.s-1" /> 386 <field id="aerosol_stormdust" 387 long_name="Opacity of stormdust dust" 388 unit="" /> 389 <field id="rds_lapserate" 390 long_name="lapse rate in the rocket dust storm" 391 unit="K/m" /> 392 <field id="rds_deltahr" 393 long_name="extra heating rate in the rocket dust storm" 394 unit="K/s" /> 395 396 <field id="topdustq" 397 long_name="Topdust dust mass mixing ratio" 398 unit="kg/kg" /> 399 <field id="topdustN" 400 long_name="Topdust dust number mixing ratio" 401 unit="part/kg" /> 402 <field id="refftopdust" 403 long_name="Topdust dust effective radius" 404 unit="m" /> 405 <field id="dsotop_TES" 406 long_name="Density scaled extinction opacity of topdust at 9.3um(TES)" 407 unit="m2.kg-1" /> 408 <field id="dsotop" 409 long_name="Density scaled extinction opacity of topdust at 21.6um(MCS)" 410 unit="m2.kg-1" /> 411 412 413 <!-- Water cycle parametrization --> 414 <field id="rice" 415 long_name="Water ice particle size" 416 unit="m" /> 417 <field id="h2o_saturation" 418 long_name="h2o vapor saturation ratio" 419 unit="" /> 420 <field id="watercloud_pdqh2oice" 421 long_name="pdqcloud_h2o_ice after microphysics" 422 unit="kg/kg.s-1" /> 423 <field id="watercloud_pdqh2ovap" 424 long_name="pdqcloud_h2o_vap after microphysics" 425 unit="kg/kg.s-1" /> 426 <field id="watercloud_pdqhdoice" 427 long_name="pdqcloud_hdo_ice after microphysics" 428 unit="kg/kg.s-1" /> 429 <field id="watercloud_pdqhdovap" 430 long_name="pdqcloud_hdo_vap after microphysics" 431 unit="kg/kg.s-1" /> 432 433 <!-- CO2 condensation parametrization --> 434 <field id="co2condens_pdtc" 435 long_name="Temperature tendency due to CO2 condensation" 436 unit="K.s-1" /> 437 438 <!-- Non-orographic GW parametrization --> 439 <field id="nonoro_bv" 440 long_name="Brunt Vaisala frequency in nonoro" 441 unit="Hz" /> 442 <field id="nonoro_u_epflux_tot" 443 long_name="Total EP Flux along U in nonoro" 444 unit="" /> 445 <field id="nonoro_v_epflux_tot" 446 long_name="Total EP Flux along V in nonoro" 447 unit="" /> 448 <field id="du_nonoro_gwd" 449 long_name="Tendency on U due to nonoro GW" 450 unit="m.s-2" /> 451 <field id="dv_nonoro_gwd" 452 long_name="Tendency on V due to nonoro GW" 453 unit="m.s-2" /> 454 77 455 </field_group> 78 456 79 457 <!-- soil variables --> 80 458 <field_group id="fields_soil" domain_ref="dom_glo" axis_ref="soil_layers"> 81 <field id=" tsoil"459 <field id="soiltemp" 82 460 long_name="Soil temperature" 461 unit="K" /> 462 <field id="soiltemp_slope01" 463 long_name="Soil temperature for slope 01" 83 464 unit="K" /> 84 465 <field id="inertiedat" … … 86 467 unit="J/kg/K" /> 87 468 </field_group> 469 88 470 </field_definition> -
trunk/LMDZ.MARS/libf/phymars/co2condens_mod.F
r2932 r2934 332 332 & rdust,zcondicea,zfallice,zdq_scav,pdqsc) 333 333 endif 334 call write_output(" zfallice",335 & " ",336 & " 334 call write_output("co2condens_zfallice", 335 & "CO2 ice tendency on the surface", 336 & "kg.m-2.s-1",zfallice(:,1)) 337 337 ELSE ! if co2 clouds 338 338 condens_layer(:,:) = 0. … … 349 349 piceco2(ig) = piceco2(ig) + zdqssed_co2(ig)*ptimestep 350 350 ENDDO 351 call write_output(" zfallice",352 & " ",353 & " 351 call write_output("co2condens_zfallice", 352 & "CO2 ice tendency on the surface", 353 & "kg.m-2.s-1",zdqssed_co2(:)) ! otherwise we have not 1 day(1proc) = 1 day (24procs) test 354 354 ENDIF ! end of if co2clouds 355 355 356 call write_output(" pdtc_atm",357 & " temperature tendency due to CO2 condensation",358 & " 356 call write_output("co2condens_pdtc", 357 & "Temperature tendency due to CO2 condensation", 358 & "K.s-1",pdtc(:,:)) 359 359 360 call write_output("condens_layer",361 & "",362 & " ",condens_layer(:,:))360 ! call write_output("condens_layer", 361 ! & "", 362 ! & " ",condens_layer(:,:)) 363 363 364 364 c ************************* -
trunk/LMDZ.MARS/libf/phymars/nonoro_gwd_ran_mod.F90
r2932 r2934 223 223 PH(:, 1) = 2. * PP(:, 1) - PH(:, 2) 224 224 225 call write_output('nonoro_pp','nonoro_pp', 'm',PP(:,:))226 call write_output('nonoro_ph','nonoro_ph', 'm',PH(:,:))225 ! call write_output('nonoro_pp','nonoro_pp', 'm',PP(:,:)) 226 ! call write_output('nonoro_ph','nonoro_ph', 'm',PH(:,:)) 227 227 228 228 ! Launching level for reproductible case … … 251 251 ZH(:, 1) = H0 * LOG(PR / (PH(:, 1) + PSEC)) 252 252 253 call write_output('nonoro_zh','nonoro_zh', 'm',ZH(:,2:nlayer+1))253 ! call write_output('nonoro_zh','nonoro_zh', 'm',ZH(:,2:nlayer+1)) 254 254 255 255 ! Winds and Brunt Vaisala frequency … … 276 276 MAX_K(II)=MAX(kmin,kstar) 277 277 ENDDO 278 call write_output('nonoro_bv',' nonoro_bv', 'm',BV(:,2:nlayer+1))278 call write_output('nonoro_bv','Brunt Vaisala frequency in nonoro', 'Hz',BV(:,2:nlayer+1)) 279 279 280 280 !----------------------------------------------------------------------------------------------------------------------- … … 445 445 ! (upward) that should be compensated by circulation 446 446 ! and induce additional friction at the surface 447 call write_output('nonoro_u_epflux_tot',' nonoro_u_epflux_tot', '',u_epflux_tot(:,2:nlayer+1))448 call write_output('nonoro_v_epflux_tot',' nonoro_v_epflux_tot', '',v_epflux_tot(:,2:nlayer+1))447 call write_output('nonoro_u_epflux_tot','Total EP Flux along U in nonoro', '',u_epflux_tot(:,2:nlayer+1)) 448 call write_output('nonoro_v_epflux_tot','Total EP Flux along V in nonoro', '',v_epflux_tot(:,2:nlayer+1)) 449 449 450 450 ! 5.2 AR-1 RECURSIVE FORMULA (13) IN VERSION 4 … … 458 458 ENDDO 459 459 d_t(:,:) = 0. 460 call write_output('nonoro_d_u','nonoro_d_u', '',d_u(:,:))461 call write_output('nonoro_d_v','nonoro_d_v', '',d_v(:,:))460 ! call write_output('nonoro_d_u','nonoro_d_u', '',d_u(:,:)) 461 ! call write_output('nonoro_d_v','nonoro_d_v', '',d_v(:,:)) 462 462 463 463 ! 5.3 Update tendency of wind with the previous (and saved) values … … 470 470 dv_nonoro_gwd(:,:) = d_v(:,:) 471 471 472 call write_output('du_nonoro_gwd',' du_nonoro_gwd', '',du_nonoro_gwd(:,:))473 call write_output('dv_nonoro_gwd',' dv_nonoro_gwd', '',dv_nonoro_gwd(:,:))472 call write_output('du_nonoro_gwd','Tendency on U due to nonoro GW', 'm.s-2',du_nonoro_gwd(:,:)) 473 call write_output('dv_nonoro_gwd','Tendency on V due to nonoro GW', 'm.s-2',dv_nonoro_gwd(:,:)) 474 474 475 475 ! Cosmetic: evaluation of the cumulated stress … … 481 481 ENDDO 482 482 483 !#ifdef CPP_XIOS484 ! call send_xios_field("du_nonoro", d_u)485 ! call send_xios_field("dv_nonoro", d_v)486 ! call send_xios_field("east_gwstress", east_gwstress)487 ! call send_xios_field("west_gwstress", west_gwstress)488 !#endif489 490 483 END SUBROUTINE NONORO_GWD_RAN 491 484 -
trunk/LMDZ.MARS/libf/phymars/physiq_mod.F
r2932 r2934 1294 1294 ! temperature tendency 1295 1295 ! for diagnostics 1296 qdustrds0(ig,l)=pq(ig,l,igcm_dust_mass)+1297 & pdq(ig,l,igcm_dust_mass)*ptimestep1298 qstormrds0(ig,l)=pq(ig,l,igcm_stormdust_mass)+1299 & pdq(ig,l,igcm_stormdust_mass)*ptimestep1300 qdusttotal0(ig)=qdusttotal0(ig)+(qdustrds0(ig,l)+1301 & qstormrds0(ig,l))*(zplev(ig,l)-1302 & zplev(ig,l+1))/g1296 ! qdustrds0(ig,l)=pq(ig,l,igcm_dust_mass)+ 1297 ! & pdq(ig,l,igcm_dust_mass)*ptimestep 1298 ! qstormrds0(ig,l)=pq(ig,l,igcm_stormdust_mass)+ 1299 ! & pdq(ig,l,igcm_stormdust_mass)*ptimestep 1300 ! qdusttotal0(ig)=qdusttotal0(ig)+(qdustrds0(ig,l)+ 1301 ! & qstormrds0(ig,l))*(zplev(ig,l)- 1302 ! & zplev(ig,l+1))/g 1303 1303 enddo 1304 1304 enddo 1305 call write_output('qdustrds0','qdust before rds',1306 & 'kg/kg ',qdustrds0(:,:))1307 call write_output('qstormrds0','qstorm before rds',1308 & 'kg/kg ',qstormrds0(:,:))1305 ! call write_output('qdustrds0','qdust before rds', 1306 ! & 'kg/kg ',qdustrds0(:,:)) 1307 ! call write_output('qstormrds0','qstorm before rds', 1308 ! & 'kg/kg ',qstormrds0(:,:)) 1309 1309 1310 1310 CALL rocketduststorm(ngrid,nlayer,nq,ptime,ptimestep, … … 1355 1355 1356 1356 c for diagnostics 1357 call write_output('qdustrds1','qdust after rds',1358 & 'kg/kg ',qdustrds1(:,:))1359 call write_output('qstormrds1','qstorm after rds',1360 & 'kg/kg ',qstormrds1(:,:))1361 1362 call write_output('qdusttotal0','q sum before rds',1363 & 'kg/m2 ',qdusttotal0(:))1364 call write_output('qdusttotal1','q sum after rds',1365 & 'kg/m2 ',qdusttotal1(:))1357 ! call write_output('qdustrds1','qdust after rds', 1358 ! & 'kg/kg ',qdustrds1(:,:)) 1359 ! call write_output('qstormrds1','qstorm after rds', 1360 ! & 'kg/kg ',qstormrds1(:,:)) 1361 ! 1362 ! call write_output('qdusttotal0','q sum before rds', 1363 ! & 'kg/m2 ',qdusttotal0(:)) 1364 ! call write_output('qdusttotal1','q sum after rds', 1365 ! & 'kg/m2 ',qdusttotal1(:)) 1366 1366 1367 1367 ENDIF ! end of if(rdstorm) … … 3133 3133 c WRITEDIAGFI can ALSO be called from any other subroutines 3134 3134 c for any variables !! 3135 call write_output("emis","Surface emissivity"," w.m-1",3135 call write_output("emis","Surface emissivity","", 3136 3136 & emis(:,iflat)) 3137 3137 do islope=1,nslope 3138 3138 write(str2(1:2),'(i2.2)') islope 3139 3139 call write_output("emis_slope"//str2, 3140 & "Surface emissivity"," w.m-1",emis(:,islope))3140 & "Surface emissivity","",emis(:,islope)) 3141 3141 ENDDO 3142 call write_output("zzlay","Midlayer altitude", 3143 & "m",zzlay(:,:)) 3142 3144 call write_output("zzlev","Interlayer altitude", 3143 3145 & "m",zzlev(:,1:nlayer)) … … 3162 3164 & ,"kg.m-2",qsurf(:,igcm_co2,islope)) 3163 3165 ENDDO 3164 call write_output("watercap"," Water ice thickness"3166 call write_output("watercap","Perennial water ice thickness" 3165 3167 & ,"kg.m-2",watercap(:,iflat)) 3166 3168 do islope=1,nslope 3167 3169 write(str2(1:2),'(i2.2)') islope 3168 3170 call write_output("watercap_slope"//str2, 3169 & " Water ice thickness"3171 & "Perennial water ice thickness" 3170 3172 & ,"kg.m-2",watercap(:,islope)) 3171 3173 ENDDO … … 3203 3205 call write_output("rho","density","kg.m-3",rho(:,:)) 3204 3206 call write_output("pressure","Pressure","Pa",zplay(:,:)) 3205 call write_output("pplev","Pressure","Pa",zplev(:,:)) 3207 call write_output("zplev","Interlayer pressure","Pa", 3208 & zplev(:,1:nlayer)) 3206 3209 call write_output('sw_htrt','sw heat. rate', 3207 3210 & 'K/s',zdtsw(:,:)) … … 3229 3232 call write_output("u","Zonal wind","m.s-1",zu(:,:)) 3230 3233 call write_output("v","Meridional wind","m.s-1",zv(:,:)) 3231 call write_output("emis","Surface emissivity"," w.m-1",3234 call write_output("emis","Surface emissivity","", 3232 3235 & emis(:,iflat)) 3233 3236 call write_output("tsoil","Soil temperature", … … 3395 3398 3396 3399 !A. Pottier 3397 CALL write_output('rmoym',3398 & 'alternative reffice',3399 & 'm',rave2(:))3400 call write_output(' saturation',3401 & 'h2o vap saturation ratio',' dimless',satu(:,:))3400 ! CALL write_output('rmoym', 3401 ! & 'alternative reffice', 3402 ! & 'm',rave2(:)) 3403 call write_output('h2o_saturation', 3404 & 'h2o vap saturation ratio','',satu(:,:)) 3402 3405 if (scavenging) then 3403 3406 CALL write_output("Nccntot", … … 3408 3411 & Mccntot(:)) 3409 3412 endif 3410 call write_output('rice',' Ice particle size',3413 call write_output('rice','Water ice particle size', 3411 3414 & 'm',rice(:,:)) 3412 3415 call write_output('h2o_ice_s', … … 3489 3492 if (reff_driven_IRtoVIS_scenario) then 3490 3493 call write_output('IRtoVIScoef', 3491 & ' conversion coeff for dust tau from abs9.3um to ext0.67um',3494 & 'Conversion coeff for dust tau from abs9.3um to ext0.67um', 3492 3495 & '/',IRtoVIScoef(:)) 3493 3496 endif 3494 3497 3495 3498 if (dustbin.ne.0) then 3496 3497 call write_output('tau','taudust','SI',tau(:,1))3498 3499 3499 3500 #ifndef MESOINI … … 3514 3515 select case (trim(dustiropacity)) 3515 3516 case ("tes") 3516 call write_output('dsodust ',3517 call write_output('dsodust_TES', 3517 3518 & 'density scaled extinction opacity of std dust at 9.3um(TES)', 3518 3519 & 'm2.kg-1',dsodust(:,:)) 3519 call write_output('dso ',3520 call write_output('dso_TES', 3520 3521 & 'density scaled extinction opacity of all dust at 9.3um(TES)', 3521 3522 & 'm2.kg-1',dsodust(:,:)+dsords(:,:)+dsotop(:,:)) … … 3564 3565 & "fraction of the mesh, with stormdust","none", 3565 3566 & totstormfract(:)) 3566 call write_output('qsurf', 3567 & 'stormdust injection', 3568 & 'kg.m-2',qsurf(:,igcm_stormdust_mass,iflat)) 3569 do islope=1,nslope 3570 write(str2(1:2),'(i2.2)') islope 3571 call write_output('qsurf_slope'//str2, 3572 & 'stormdust injection', 3573 & 'kg.m-2',qsurf(:,igcm_stormdust_mass,islope)) 3574 ENDDO 3575 call write_output('pdqsurf', 3576 & 'tendancy stormdust mass at surface', 3577 & 'kg.m-2',dqsurf(:,igcm_stormdust_mass,iflat)) 3578 do islope=1,nslope 3579 write(str2(1:2),'(i2.2)') islope 3580 call write_output('pdqsurf_slope'//str2, 3581 & 'tendancy stormdust mass at surface', 3582 & 'kg.m-2',dqsurf(:,igcm_stormdust_mass,islope)) 3583 ENDDO 3584 call write_output('wspeed','vertical speed stormdust', 3585 & 'm/s',wspeed(:,:)) 3586 call write_output('zdqsed_dustq' 3587 & ,'sedimentation q','kg.m-2.s-1', 3567 ! call write_output('qsurf', 3568 ! & 'stormdust injection', 3569 ! & 'kg.m-2',qsurf(:,igcm_stormdust_mass,iflat)) 3570 ! do islope=1,nslope 3571 ! write(str2(1:2),'(i2.2)') islope 3572 ! call write_output('qsurf_slope'//str2, 3573 ! & 'stormdust injection', 3574 ! & 'kg.m-2',qsurf(:,igcm_stormdust_mass,islope)) 3575 ! ENDDO 3576 ! call write_output('pdqsurf', 3577 ! & 'tendancy stormdust mass at surface', 3578 ! & 'kg.m-2',dqsurf(:,igcm_stormdust_mass,iflat)) 3579 ! do islope=1,nslope 3580 ! write(str2(1:2),'(i2.2)') islope 3581 ! call write_output('pdqsurf_slope'//str2, 3582 ! & 'tendancy stormdust mass at surface', 3583 ! & 'kg.m-2',dqsurf(:,igcm_stormdust_mass,islope)) 3584 ! ENDDO 3585 call write_output('wspeed_stormdust', 3586 & 'vertical velocity of stormdust', 3587 & 'm/s',wspeed(:,:)) 3588 call write_output('zdqsed_dust_mass' 3589 & ,'sedimentation tendency of background dust mmr' 3590 & ,'kg/kg.s-1', 3588 3591 & zdqsed(:,:,igcm_dust_mass)) 3589 call write_output('zdqssed_dustq' 3590 & ,'sedimentation q','kg.m-2.s-1', 3592 call write_output('zdqssed_dust_mass' 3593 & ,'sedimentation tendency of background dust on surface' 3594 & ,'kg.m-2.s-1', 3591 3595 & zdqssed(:,igcm_dust_mass)) 3592 call write_output('zdqsed_rdsq' 3593 & ,'sedimentation q','kg.m-2.s-1', 3596 call write_output('zdqsed_stormdust_mass' 3597 & ,'sedimentation tendency of stormdust dust mmr' 3598 & ,'kg/kg.s-1', 3594 3599 & zdqsed(:,:,igcm_stormdust_mass)) 3595 call write_output('zdqsed_dustN' 3596 & ,'sedimentation N','Nbr.m-2.s-1', 3600 call write_output('zdqsed_dust_number' 3601 & ,'sedimentation tendency of background dust number' 3602 & ,'nbr/kg.s-1', 3597 3603 & zdqsed(:,:,igcm_dust_number)) 3598 3604 call write_output('rdust','rdust', … … 3600 3606 call write_output('rstormdust','rstormdust', 3601 3607 & 'm',rstormdust(:,:)) 3602 call write_output('totaldustq','total dust mass',3603 & 'kg/kg',qdusttotal(:,:))3604 3608 3605 3609 select case (trim(dustiropacity)) 3606 3610 case ("tes") 3607 call write_output('dsords ',3611 call write_output('dsords_TES', 3608 3612 & 'density scaled extinction opacity of stormdust at 9.3um(TES)', 3609 3613 & 'm2.kg-1',dsords(:,:)) … … 3616 3620 3617 3621 if (topflows) then 3618 call write_output('refftopdust','refftopdust', 3619 & 'm',rtopdust(:,:)*ref_r0) 3622 call write_output('refftopdust', 3623 & 'Topdust dust effective radius', 3624 & 'm',rtopdust(:,:)*ref_r0) 3620 3625 call write_output('topdustq','top Dust mass mr', 3621 3626 & 'kg/kg',pq(:,:,igcm_topdust_mass)) … … 3624 3629 select case (trim(dustiropacity)) 3625 3630 case ("tes") 3626 call write_output('dsotop ',3631 call write_output('dsotop_TES', 3627 3632 & 'density scaled extinction opacity of topdust at 9.3um(TES)', 3628 3633 & 'm2.kg-1',dsotop(:,:)) … … 3640 3645 endif 3641 3646 3642 if (scavenging) then 3643 call write_output('ccnq','CCN mass mr',3644 & 'kg/kg',qccn(:,:))3645 call write_output('ccnN','CCN number',3646 & 'part/kg',nccn(:,:))3647 call write_output('surfccnq','Surf nuclei mass mr',3648 & 'kg.m-2',qsurf(:,igcm_ccn_mass,iflat))3649 do islope=1,nslope3650 write(str2(1:2),'(i2.2)') islope3651 call write_output('surfccnq_slope'//str2,3652 & 'Surf nuclei mass mr',3653 & 'kg.m-2',qsurf(:,igcm_ccn_mass,islope))3654 ENDDO3655 call write_output('surfccnN','Surf nuclei number',3656 & 'kg.m-2',qsurf(:,igcm_ccn_number,iflat))3657 do islope=1,nslope3658 write(str2(1:2),'(i2.2)') islope3659 call write_output('surfccnN_slope'//str2,3660 & 'Surf nuclei number',3661 & 'kg.m-2',qsurf(:,igcm_ccn_number,islope))3662 ENDDO3663 endif ! (scavenging)3647 ! if (scavenging) then ! these outputs should be in the scavenging routine 3648 ! call write_output('ccnq','CCN mass mr', 3649 ! & 'kg/kg',qccn(:,:)) 3650 ! call write_output('ccnN','CCN number', 3651 ! & 'part/kg',nccn(:,:)) 3652 ! call write_output('surfccnq','Surf nuclei mass mr', 3653 ! & 'kg.m-2',qsurf(:,igcm_ccn_mass,iflat)) 3654 ! do islope=1,nslope 3655 ! write(str2(1:2),'(i2.2)') islope 3656 ! call write_output('surfccnq_slope'//str2, 3657 ! & 'Surf nuclei mass mr', 3658 ! & 'kg.m-2',qsurf(:,igcm_ccn_mass,islope)) 3659 ! ENDDO 3660 ! call write_output('surfccnN','Surf nuclei number', 3661 ! & 'kg.m-2',qsurf(:,igcm_ccn_number,iflat)) 3662 ! do islope=1,nslope 3663 ! write(str2(1:2),'(i2.2)') islope 3664 ! call write_output('surfccnN_slope'//str2, 3665 ! & 'Surf nuclei number', 3666 ! & 'kg.m-2',qsurf(:,igcm_ccn_number,islope)) 3667 ! ENDDO 3668 ! endif ! (scavenging) 3664 3669 3665 3670 #else … … 3698 3703 3699 3704 c ---------------------------------------------------------- 3700 c GW non-oro outputs3701 c ----------------------------------------------------------3702 3703 if(calllott_nonoro) then3704 call write_output("dugwno","GW non-oro dU","m/s2",3705 $ d_u_hin(:,:)/ptimestep)3706 call write_output("dvgwno","GW non-oro dV","m/s2",3707 $ d_v_hin(:,:)/ptimestep)3708 endif !(calllott_nonoro)3709 3710 c ----------------------------------------------------------3711 3705 c Thermospheric outputs 3712 3706 c ---------------------------------------------------------- … … 3714 3708 if(callthermos) then 3715 3709 3716 call write_output("q15um","15 um cooling","K/s",3717 $ zdtnlte(:,:))3718 3710 call write_output("quv","UV heating","K/s", 3719 3711 $ zdteuv(:,:)) 3720 3712 call write_output("cond","Thermal conduction","K/s", 3721 3713 $ zdtconduc(:,:)) 3722 call write_output("qnir","NIR heating","K/s",3723 $ zdtnirco2(:,:))3724 3714 3725 3715 !H, H2 and D escape fluxes … … 3750 3740 if (calltherm) then 3751 3741 call write_output('lmax_th', 3752 & ' hauteur du thermique','point',3753 & 3742 & 'index of vertical extension of thermals', 3743 & 'grid level',lmax_th_out(:)) 3754 3744 call write_output('zmax_th', 3755 & ' hauteur du thermique','m',3745 & 'vertical extension of thermals','m', 3756 3746 & zmax_th(:)) 3757 3747 call write_output('hfmax_th', 3758 & 'maximum TH heat flux','K.m/s',3748 & 'maximum heat flux in thermals','K.m/s', 3759 3749 & hfmax_th(:)) 3760 3750 call write_output('wstar', 3761 & 'maximum THvertical velocity','m/s',3751 & 'maximum thermals vertical velocity','m/s', 3762 3752 & wstar(:)) 3763 3753 end if … … 3795 3785 & 'opacity of storm dust','' 3796 3786 & ,aerosol(:,:,iaer_stormdust_doubleq)) 3797 call write_output('dqsdifdustq','diffusion', 3798 & 'kg.m-2.s-1',zdqsdif(:,igcm_dust_mass,iflat)) 3787 call write_output('dqsdifdustq', 3788 &'tendency due to vertical diffusion of background dust on surface' 3789 & ,'kg.m-2.s-1',zdqsdif(:,igcm_dust_mass,iflat)) 3799 3790 do islope=1,nslope 3800 3791 write(str2(1:2),'(i2.2)') islope 3801 3792 call write_output('dqsdifdustq_slope'//str2, 3802 & 'diffusion',3803 & 'kg.m-2.s-1',zdqsdif(:,igcm_dust_mass,islope))3793 &'tendency due to vertical diffusion of background dust on surface' 3794 & ,'kg.m-2.s-1',zdqsdif(:,igcm_dust_mass,islope)) 3804 3795 ENDDO 3805 call write_output('dqsdifrdsq','diffusion', 3796 call write_output('dqsdifrdsq', 3797 & 'tendency due to vertical diffusion of stormdust on surface', 3806 3798 & 'kg.m-2.s-1',zdqsdif(:,igcm_stormdust_mass,iflat)) 3807 3799 do islope=1,nslope 3808 3800 write(str2(1:2),'(i2.2)') islope 3809 3801 call write_output('dqsdifrdsq_slope'//str2, 3810 & 'diffusion',3802 & 'tendency due to vertical diffusion of stormdust on surface', 3811 3803 & 'kg.m-2.s-1',zdqsdif(:,igcm_stormdust_mass,islope)) 3812 3804 ENDDO … … 3873 3865 call write_output( 'co2conservation', 3874 3866 & 'Total CO2 mass conservation in physic', 3875 & ' 3867 & 'kg', co2conservation) 3876 3868 ! XIOS outputs 3877 3869 #ifdef CPP_XIOS 3878 3870 ! Send fields to XIOS: (NB these fields must also be defined as 3879 3871 ! <field id="..." /> in context_lmdz_physics.xml to be correctly used) 3880 CALL send_xios_field("ls",zls*180./pi)3881 3872 3882 3873 CALL send_xios_field("controle",tab_cntrl_mod,1) … … 3886 3877 CALL send_xios_field("aps",aps,1) 3887 3878 CALL send_xios_field("bps",bps,1) 3888 3889 CALL send_xios_field("phisinit",phisfi)3890 3891 CALL send_xios_field("ps",ps)3892 CALL send_xios_field("area",cell_area)3893 3894 ! CALL send_xios_field("ISR",fluxtop_dn_sw_tot)3895 CALL send_xios_field("OLR",fluxtop_lw)3896 3897 CALL send_xios_field("tsurf",tsurf(:,iflat))3898 ! CALL send_xios_field("inertiedat",inertiedat)3899 CALL send_xios_field("tsoil",tsoil(:,:,iflat))3900 CALL send_xios_field("co2ice",qsurf(:,igcm_co2,iflat))3901 3902 ! CALL send_xios_field("temp",zt)3903 CALL send_xios_field("u",zu)3904 CALL send_xios_field("v",zv)3905 3906 ! CALL send_xios_field("rho",rho)3907 ! Orographic Gravity waves tendencies3908 ! if (calllott) then3909 ! CALL send_xios_field("dugw",zdugw/ptimestep)3910 ! CALL send_xios_field("dvgw",zdvgw/ptimestep)3911 ! CALL send_xios_field("dtgw",zdtgw/ptimestep)3912 ! endif3913 !CREATE IF CO2CYCLE3914 ! if (igcm_co2.ne.0) then3915 ! CALL send_xios_field("co2",zq(:,:,igcm_co2))3916 ! endif3917 ! Water cycle3918 ! if (water) then3919 ! CALL send_xios_field("watercap",watercap)3920 !CALL send_xios_field("watercaptag",watercaptag)3921 ! CALL send_xios_field("mtot",mtot)3922 ! CALL send_xios_field("icetot",icetot)3923 ! if (igcm_h2o_vap.ne.0 .and. igcm_h2o_ice.ne.0) then3924 ! CALL send_xios_field("h2o_vap",zq(:,:,igcm_h2o_vap))3925 ! CALL send_xios_field("h2o_ice",zq(:,:,igcm_h2o_ice))3926 ! endif3927 ! endif3928 ! if (.not.activice) then3929 ! CALL send_xios_field("tauTESap",tauTES)3930 ! else3931 ! CALL send_xios_field("tauTES",taucloudtes)3932 ! endif3933 3934 ! CALL send_xios_field("h2o_ice_s",qsurf(:,igcm_h2o_ice))3935 3936 3879 3937 3880 if (lastcall.and.is_omp_master) then -
trunk/LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90
r2932 r2934 526 526 ! WRITEDIAGFI 527 527 528 call write_output('lapserate','lapse rate in the storm', & 529 & 'k/m',lapserate(:,:)) 530 call write_output('deltahr','extra heating rates', & 531 & 'K/s',deltahr(:,:)) 532 call write_output('scheme','which scheme',& 533 ' ',real(scheme(:))) 528 call write_output('rds_lapserate', & 529 'lapse rate in the rocket dust storm', & 530 'K/m',lapserate(:,:)) 531 call write_output('rds_deltahr', & 532 'extra heating rate in the rocket dust storm', & 533 'K/s',deltahr(:,:)) 534 ! call write_output('scheme','which scheme',& 535 ! ' ',real(scheme(:))) 534 536 535 537 END SUBROUTINE rocketduststorm -
trunk/LMDZ.MARS/libf/phymars/topmons_mod.F90
r2932 r2934 643 643 ! WRITEDIAGFI 644 644 ! ********************************************************************** 645 CALL write_output('wup_top', &646 'wup_top','',wup(:,:))647 CALL write_output('wlwmax_top', &648 'wlwmax_top','',wup(:,lwmax(1)))649 CALL write_output('w0_top', &650 'w0_top','',wup(:,lsummit(1)+1))651 CALL write_output('wup2_top', &652 'wup2_top','',wup2(:,:))653 CALL write_output('wrad_top', &654 'wrad_top','',wrad(:,:))655 CALL write_output('wfin_top', &656 'wfin_top','',wfin(:,:))657 CALL write_output('hmons', &658 'hmons','',hmons(:))659 CALL write_output('hsummit', &660 'hsummit','',hsummit(:))661 CALL write_output('alpha_hmons', &662 'alpha_hmons','',alpha_hmons(:))663 CALL write_output('zt_top', &664 'zt_top','',t_top(:,:))665 CALL write_output('dt_top', &666 'dt_top','',dt_top(:))667 CALL write_output('ztemp', &668 'envtemp','',zt(:,:))669 CALL write_output('zt_env', &670 't_env','',t_env(:,:))671 CALL write_output('zdtvert_top', &672 'zdtvert_top','',zdtvert(:,:))673 CALL write_output('newzt_top', &674 'newzt_top','',newzt(:,:))675 CALL write_output('deltahr_top', &676 'deltahr_top','',deltahr(:,:))677 CALL write_output('rhobarz', &678 'rhobarz','',rhobarz(:,:))679 CALL write_output('zlwmax', &680 'zlwmax','',zlaywmax(:))681 CALL write_output('coefdetrain', &682 'coefdetrain','',coefdetrain(:,:))683 CALL write_output('detrain_rate', &684 'detrain_rate', &685 '',detrain_rate(:,:))686 CALL write_output('rholev', &687 'rholev','',rho(:,:))688 CALL write_output('zlsummit', &689 'zlsummit','',pzlay(:,lsummit(1)))690 CALL write_output('pzlev_top', &691 'pzlev_top','',pzlev(:,:))692 CALL write_output('entr', &693 'entr','',entr(:))645 ! CALL write_output('wup_top', & 646 ! 'wup_top','',wup(:,:)) 647 ! CALL write_output('wlwmax_top', & 648 ! 'wlwmax_top','',wup(:,lwmax(1))) 649 ! CALL write_output('w0_top', & 650 ! 'w0_top','',wup(:,lsummit(1)+1)) 651 ! CALL write_output('wup2_top', & 652 ! 'wup2_top','',wup2(:,:)) 653 ! CALL write_output('wrad_top', & 654 ! 'wrad_top','',wrad(:,:)) 655 ! CALL write_output('wfin_top', & 656 ! 'wfin_top','',wfin(:,:)) 657 ! CALL write_output('hmons', & 658 ! 'hmons','',hmons(:)) 659 ! CALL write_output('hsummit', & 660 ! 'hsummit','',hsummit(:)) 661 ! CALL write_output('alpha_hmons', & 662 ! 'alpha_hmons','',alpha_hmons(:)) 663 ! CALL write_output('zt_top', & 664 ! 'zt_top','',t_top(:,:)) 665 ! CALL write_output('dt_top', & 666 ! 'dt_top','',dt_top(:)) 667 ! CALL write_output('ztemp', & 668 ! 'envtemp','',zt(:,:)) 669 ! CALL write_output('zt_env', & 670 ! 't_env','',t_env(:,:)) 671 ! CALL write_output('zdtvert_top', & 672 ! 'zdtvert_top','',zdtvert(:,:)) 673 ! CALL write_output('newzt_top', & 674 ! 'newzt_top','',newzt(:,:)) 675 ! CALL write_output('deltahr_top', & 676 ! 'deltahr_top','',deltahr(:,:)) 677 ! CALL write_output('rhobarz', & 678 ! 'rhobarz','',rhobarz(:,:)) 679 ! CALL write_output('zlwmax', & 680 ! 'zlwmax','',zlaywmax(:)) 681 ! CALL write_output('coefdetrain', & 682 ! 'coefdetrain','',coefdetrain(:,:)) 683 ! CALL write_output('detrain_rate', & 684 ! 'detrain_rate', & 685 ! '',detrain_rate(:,:)) 686 ! CALL write_output('rholev', & 687 ! 'rholev','',rho(:,:)) 688 ! CALL write_output('zlsummit', & 689 ! 'zlsummit','',pzlay(:,lsummit(1))) 690 ! CALL write_output('pzlev_top', & 691 ! 'pzlev_top','',pzlev(:,:)) 692 ! CALL write_output('entr', & 693 ! 'entr','',entr(:)) 694 694 695 695 END SUBROUTINE topmons -
trunk/LMDZ.MARS/libf/phymars/vdifc_mod.F
r2932 r2934 155 155 156 156 REAL hdoflux(ngrid) ! value of vapour flux of HDO 157 REAL h2oflux(ngrid) ! value of vapour flux of H2O157 ! REAL h2oflux(ngrid) ! value of vapour flux of H2O 158 158 REAL old_h2o_vap(ngrid) ! traceur d'eau avant traitement 159 159 … … 1063 1063 1064 1064 C Diagnostic output for HDO 1065 if (hdo) then1066 CALL write_output('hdoflux',1067 & 'hdoflux',1068 & ' ',hdoflux(:))1069 CALL write_output('h2oflux',1070 & 'h2oflux',1071 & ' ',h2oflux(:))1072 endif1065 ! if (hdo) then 1066 ! CALL write_output('hdoflux', 1067 ! & 'hdoflux', 1068 ! & ' ',hdoflux(:)) 1069 ! CALL write_output('h2oflux', 1070 ! & 'h2oflux', 1071 ! & ' ',h2oflux(:)) 1072 ! endif 1073 1073 1074 1074 c----------------------------------------------------------------------- -
trunk/LMDZ.MARS/libf/phymars/watercloud_mod.F
r2932 r2934 269 269 & cloudfrac(:,:) 270 270 !! CLFvarying outputs 271 CALL write_output('pqeffice','pqeffice',272 & 'kg/kg',pqeff(:,:,igcm_h2o_ice))273 CALL write_output('pteff','pteff',274 & 'K',pteff(:,:))275 CALL write_output('tcond','tcond',276 & 'K',tcond(:,:))277 CALL write_output('cloudfrac','cloudfrac',278 & 'K',cloudfrac(:,:))271 ! CALL write_output('pqeffice','pqeffice', 272 ! & 'kg/kg',pqeff(:,:,igcm_h2o_ice)) 273 ! CALL write_output('pteff','pteff', 274 ! & 'K',pteff(:,:)) 275 ! CALL write_output('tcond','tcond', 276 ! & 'K',tcond(:,:)) 277 ! CALL write_output('cloudfrac','cloudfrac', 278 ! & 'K',cloudfrac(:,:)) 279 279 END IF ! end if (CLFvarying) 280 280 c------------------------------------------------------------------ … … 714 714 #ifndef MESOSCALE 715 715 c======================================================================= 716 call write_output("pdqice2","pdqcloudice apres microphysique" 717 & ,"kg/kg.s-1",pdqcloud(:,:,igcm_h2o_ice)) 718 call write_output("pdqvap2","pdqcloudvap apres microphysique" 719 & ,"kg/kg.s-1",pdqcloud(:,:, 720 & igcm_h2o_vap)) 716 call write_output("watercloud_pdqh2oice","pdqcloud_h2o_ice "// 717 & "after microphysics","kg/kg.s-1",pdqcloud(:,:,igcm_h2o_ice)) 718 call write_output("watercloud_pdqh2ovap","pdqcloud_h2o_vap "// 719 & "after microphysics","kg/kg.s-1",pdqcloud(:,:,igcm_h2o_vap)) 721 720 if (hdo) then 722 call write_output("pdqiceD","pdqiceD apres microphysique" 723 & ,"kg/kg.s-1",pdqcloud(:,:,igcm_hdo_ice)) 724 call write_output("pdqvapD","pdqvapD apres microphysique" 725 & ,"kg/kg.s-1",pdqcloud(:,:, 726 & igcm_hdo_vap)) 721 call write_output("watercloud_pdqhdoice","pdqcloud_hdo_ice "// 722 & "after microphysics","kg/kg.s-1",pdqcloud(:,:,igcm_hdo_ice)) 723 call write_output("watercloud_pdqhdovap","pdqcloud_hdo_vap "// 724 & "after microphysics","kg/kg.s-1",pdqcloud(:,:,igcm_hdo_vap)) 727 725 endif 728 call write_output("pdqccn2","pdqcloudccn apres microphysique"729 & ,"kg/kg.s-1",pdqcloud(:,:,730 & igcm_ccn_mass))731 call write_output("pdqccnN2","pdqcloudccnN apres "//732 & "microphysique","nb/kg.s-1",pdqcloud(:,:,733 & igcm_ccn_number))734 call write_output("pdqdust2", "pdqclouddust apres "//735 & "microphysique","kg/kg.s-1",pdqcloud(:,:,736 & igcm_dust_mass))737 call write_output("pdqdustN2", "pdqclouddustN apres "//738 & "microphysique","nb/kg.s-1",pdqcloud(:,:,739 & igcm_dust_number))726 ! call write_output("pdqccn2","pdqcloudccn apres microphysique" 727 ! & ,"kg/kg.s-1",pdqcloud(:,:, 728 ! & igcm_ccn_mass)) 729 ! call write_output("pdqccnN2","pdqcloudccnN apres "// 730 ! & "microphysique","nb/kg.s-1",pdqcloud(:,:, 731 ! & igcm_ccn_number)) 732 ! call write_output("pdqdust2", "pdqclouddust apres "// 733 ! & "microphysique","kg/kg.s-1",pdqcloud(:,:, 734 ! & igcm_dust_mass)) 735 ! call write_output("pdqdustN2", "pdqclouddustN apres "// 736 ! & "microphysique","nb/kg.s-1",pdqcloud(:,:, 737 ! & igcm_dust_number)) 740 738 c======================================================================= 741 739 #endif -
trunk/LMDZ.MARS/libf/phymars/write_output_mod.F90
r2933 r2934 4 4 5 5 INTERFACE write_output 6 MODULE PROCEDURE write_output_d0,write_output_d1,write_output_d2 ,write_output_d36 MODULE PROCEDURE write_output_d0,write_output_d1,write_output_d2 7 7 END INTERFACE write_output 8 8 … … 13 13 SUBROUTINE write_output_d0(field_name,title,units,field) 14 14 ! For a surface field 15 #ifdef CPP_XIOS 16 use xios_output_mod, only: send_xios_field 17 #endif 15 18 IMPLICIT NONE 16 19 include "dimensions.h" … … 31 34 SUBROUTINE write_output_d1(field_name,title,units,field) 32 35 ! For a surface field 36 #ifdef CPP_XIOS 37 use xios_output_mod, only: send_xios_field 38 #endif 33 39 use comsoil_h, only: nsoilmx 34 40 use writediagsoil_mod, only: writediagsoil … … 51 57 SUBROUTINE write_output_d2(field_name,title,units,field) 52 58 ! For a "3D" horizontal-vertical field 59 #ifdef CPP_XIOS 60 use xios_output_mod, only: send_xios_field 61 #endif 53 62 use comsoil_h, only: nsoilmx 54 63 use writediagsoil_mod, only: writediagsoil … … 73 82 END SUBROUTINE write_output_d2 74 83 75 SUBROUTINE write_output_d3(field_name,title,units,field)76 ! For a "4D" field surf/alt/??77 use comsoil_h, only: nsoilmx78 use writediagsoil_mod, only: writediagsoil79 IMPLICIT NONE80 include "dimensions.h"81 INTEGER ngrid82 PARAMETER( ngrid = 2+(jjm-1)*iim - 1/jjm )83 CHARACTER(LEN=*),INTENT(IN) :: field_name84 CHARACTER(LEN=*),INTENT(IN) :: title85 CHARACTER(LEN=*),INTENT(IN) :: units86 REAL,INTENT(IN) :: field(:,:,:)87 88 if(size(field(:,:,:),3).eq.nsoilmx) then89 call writediagsoil(ngrid,field_name,title,units,4,field)90 else91 call writediagfi(ngrid,field_name,title,units,4,field)92 endif93 #ifdef CPP_XIOS94 call send_xios_field(field_name,field)95 #endif96 97 END SUBROUTINE write_output_d398 99 84 END MODULE write_output_mod
Note: See TracChangeset
for help on using the changeset viewer.