Changeset 2934 for trunk/LMDZ.MARS/libf
- Timestamp:
- Apr 10, 2023, 4:36:39 PM (20 months ago)
- Location:
- trunk/LMDZ.MARS/libf/phymars
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
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.