Changeset 2934 for trunk/LMDZ.MARS/libf


Ignore:
Timestamp:
Apr 10, 2023, 4:36:39 PM (20 months ago)
Author:
emillour
Message:

Mars PCM:
A first step in cleaning up outputs and adding field definitions for XIOS.
EM

Location:
trunk/LMDZ.MARS/libf/phymars
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/co2condens_mod.F

    r2932 r2934  
    332332     &                       rdust,zcondicea,zfallice,zdq_scav,pdqsc)
    333333      endif
    334              call write_output("zfallice",
    335      &         "",
    336      &         " ",zfallice(:,1))
     334             call write_output("co2condens_zfallice",
     335     &         "CO2 ice tendency on the surface",
     336     &         "kg.m-2.s-1",zfallice(:,1))
    337337      ELSE ! if co2 clouds
    338338        condens_layer(:,:) = 0.
     
    349349          piceco2(ig) = piceco2(ig) + zdqssed_co2(ig)*ptimestep
    350350        ENDDO
    351        call write_output("zfallice",
    352      &         "",
    353      &         " ",zdqssed_co2(:)) ! otherwise we have not 1 day(1proc) = 1 day (24procs) test
     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
    354354      ENDIF ! end of if co2clouds
    355355
    356       call write_output("pdtc_atm",
    357      &         "temperature tendency due to CO2 condensation",
    358      &         " ",pdtc(:,:))
     356      call write_output("co2condens_pdtc",
     357     &         "Temperature tendency due to CO2 condensation",
     358     &         "K.s-1",pdtc(:,:))
    359359     
    360        call write_output("condens_layer",
    361      &         "",
    362      &         " ",condens_layer(:,:))
     360!       call write_output("condens_layer",
     361!     &         "",
     362!     &         " ",condens_layer(:,:))
    363363
    364364c     *************************
  • trunk/LMDZ.MARS/libf/phymars/nonoro_gwd_ran_mod.F90

    r2932 r2934  
    223223    PH(:, 1) = 2. * PP(:, 1) - PH(:, 2)
    224224
    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(:,:))
    227227
    228228    ! Launching level for reproductible case
     
    251251        ZH(:, 1) = H0 * LOG(PR / (PH(:, 1) + PSEC))
    252252
    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))
    254254
    255255    ! Winds and Brunt Vaisala frequency
     
    276276       MAX_K(II)=MAX(kmin,kstar)
    277277    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))
    279279
    280280!-----------------------------------------------------------------------------------------------------------------------
     
    445445    ! (upward) that should be compensated by circulation
    446446    ! 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))
    449449
    450450    ! 5.2 AR-1 RECURSIVE FORMULA (13) IN VERSION 4
     
    458458    ENDDO
    459459    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(:,:))
    462462
    463463    ! 5.3 Update tendency of wind with the previous (and saved) values
     
    470470    dv_nonoro_gwd(:,:) = d_v(:,:)
    471471
    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(:,:))
    474474   
    475475    ! Cosmetic: evaluation of the cumulated stress
     
    481481    ENDDO
    482482
    483 !#ifdef CPP_XIOS
    484 !     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 !#endif
    489 
    490483  END SUBROUTINE NONORO_GWD_RAN
    491484
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r2932 r2934  
    12941294                                             ! temperature tendency
    12951295            ! for diagnostics
    1296             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
     1296!            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
    13031303           enddo
    13041304         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(:,:))
    13091309
    13101310         CALL rocketduststorm(ngrid,nlayer,nq,ptime,ptimestep,
     
    13551355
    13561356c        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(:))
    13661366
    13671367      ENDIF ! end of if(rdstorm)
     
    31333133c        WRITEDIAGFI can ALSO be called from any other subroutines
    31343134c        for any variables !!
    3135          call write_output("emis","Surface emissivity","w.m-1",
     3135         call write_output("emis","Surface emissivity","",
    31363136     &                  emis(:,iflat))
    31373137         do islope=1,nslope
    31383138           write(str2(1:2),'(i2.2)') islope
    31393139           call write_output("emis_slope"//str2,
    3140      &    "Surface emissivity","w.m-1",emis(:,islope))
     3140     &    "Surface emissivity","",emis(:,islope))
    31413141         ENDDO
     3142         call write_output("zzlay","Midlayer altitude",
     3143     &                    "m",zzlay(:,:))
    31423144         call write_output("zzlev","Interlayer altitude",
    31433145     &                    "m",zzlev(:,1:nlayer))
     
    31623164     &              ,"kg.m-2",qsurf(:,igcm_co2,islope))
    31633165         ENDDO
    3164          call write_output("watercap","Water ice thickness"
     3166         call write_output("watercap","Perennial water ice thickness"
    31653167     &         ,"kg.m-2",watercap(:,iflat))
    31663168         do islope=1,nslope
    31673169          write(str2(1:2),'(i2.2)') islope
    31683170         call write_output("watercap_slope"//str2,
    3169      &         "Water ice thickness"
     3171     &         "Perennial water ice thickness"
    31703172     &         ,"kg.m-2",watercap(:,islope))
    31713173         ENDDO
     
    32033205         call write_output("rho","density","kg.m-3",rho(:,:))
    32043206         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))
    32063209        call write_output('sw_htrt','sw heat. rate',
    32073210     &                   'K/s',zdtsw(:,:))
     
    32293232      call write_output("u","Zonal wind","m.s-1",zu(:,:))
    32303233      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","",
    32323235     &                 emis(:,iflat))
    32333236      call write_output("tsoil","Soil temperature",
     
    33953398
    33963399!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(:,:))
    34023405            if (scavenging) then
    34033406              CALL write_output("Nccntot",
     
    34083411     &                    Mccntot(:))
    34093412            endif
    3410             call write_output('rice','Ice particle size',
     3413            call write_output('rice','Water ice particle size',
    34113414     &                       'm',rice(:,:))
    34123415            call write_output('h2o_ice_s',
     
    34893492      if (reff_driven_IRtoVIS_scenario) then
    34903493             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',
    34923495     &                        '/',IRtoVIScoef(:))
    34933496      endif
    34943497
    34953498      if (dustbin.ne.0) then
    3496 
    3497         call write_output('tau','taudust','SI',tau(:,1))
    34983499
    34993500#ifndef MESOINI
     
    35143515             select case (trim(dustiropacity))
    35153516              case ("tes")
    3516                call write_output('dsodust',
     3517               call write_output('dsodust_TES',
    35173518     &  'density scaled extinction opacity of std dust at 9.3um(TES)',
    35183519     &         'm2.kg-1',dsodust(:,:))
    3519                call write_output('dso',
     3520               call write_output('dso_TES',
    35203521     &  'density scaled extinction opacity of all dust at 9.3um(TES)',
    35213522     &         'm2.kg-1',dsodust(:,:)+dsords(:,:)+dsotop(:,:))
     
    35643565     &                "fraction of the mesh, with stormdust","none",
    35653566     &                                         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',
    35883591     &          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',
    35913595     &          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',
    35943599     &          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',
    35973603     &          zdqsed(:,:,igcm_dust_number))
    35983604             call write_output('rdust','rdust',
     
    36003606             call write_output('rstormdust','rstormdust',
    36013607     &                        'm',rstormdust(:,:))
    3602              call write_output('totaldustq','total dust mass',
    3603      &                        'kg/kg',qdusttotal(:,:))
    36043608
    36053609             select case (trim(dustiropacity))
    36063610              case ("tes")
    3607                call write_output('dsords',
     3611               call write_output('dsords_TES',
    36083612     &  'density scaled extinction opacity of stormdust at 9.3um(TES)',
    36093613     &         'm2.kg-1',dsords(:,:))
     
    36163620
    36173621           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)
    36203625             call write_output('topdustq','top Dust mass mr',
    36213626     &                        'kg/kg',pq(:,:,igcm_topdust_mass))
     
    36243629             select case (trim(dustiropacity))
    36253630              case ("tes")
    3626                call write_output('dsotop',
     3631               call write_output('dsotop_TES',
    36273632     &  'density scaled extinction opacity of topdust at 9.3um(TES)',
    36283633     &         'm2.kg-1',dsotop(:,:))
     
    36403645           endif
    36413646
    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,nslope
    3650           write(str2(1:2),'(i2.2)') islope
    3651              call write_output('surfccnq_slope'//str2,
    3652      &               'Surf nuclei mass mr',
    3653      &               'kg.m-2',qsurf(:,igcm_ccn_mass,islope))
    3654          ENDDO
    3655              call write_output('surfccnN','Surf nuclei number',
    3656      &                        'kg.m-2',qsurf(:,igcm_ccn_number,iflat))
    3657          do islope=1,nslope
    3658           write(str2(1:2),'(i2.2)') islope
    3659              call write_output('surfccnN_slope'//str2,
    3660      &                 'Surf nuclei number',
    3661      &                 'kg.m-2',qsurf(:,igcm_ccn_number,islope))
    3662          ENDDO
    3663            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)
    36643669
    36653670#else
     
    36983703
    36993704c        ----------------------------------------------------------
    3700 c        GW non-oro outputs
    3701 c        ----------------------------------------------------------
    3702 
    3703          if(calllott_nonoro) then
    3704            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        ----------------------------------------------------------
    37113705c        Thermospheric outputs
    37123706c        ----------------------------------------------------------
     
    37143708         if(callthermos) then
    37153709
    3716             call write_output("q15um","15 um cooling","K/s",
    3717      $           zdtnlte(:,:))
    37183710            call write_output("quv","UV heating","K/s",
    37193711     $           zdteuv(:,:))
    37203712            call write_output("cond","Thermal conduction","K/s",
    37213713     $           zdtconduc(:,:))
    3722             call write_output("qnir","NIR heating","K/s",
    3723      $           zdtnirco2(:,:))
    37243714
    37253715            !H, H2 and D escape fluxes
     
    37503740      if (calltherm) then
    37513741        call write_output('lmax_th',
    3752      &              'hauteur du thermique','point',
    3753      &                         lmax_th_out(:))
     3742     &              'index of vertical extension of thermals',
     3743     &                   'grid level',lmax_th_out(:))
    37543744        call write_output('zmax_th',
    3755      &                   'hauteur du thermique','m',
     3745     &                   'vertical extension of thermals','m',
    37563746     &                    zmax_th(:))
    37573747        call write_output('hfmax_th',
    3758      &                   'maximum TH heat flux','K.m/s',
     3748     &                   'maximum heat flux in thermals','K.m/s',
    37593749     &                   hfmax_th(:))
    37603750        call write_output('wstar',
    3761      &                   'maximum TH vertical velocity','m/s',
     3751     &                   'maximum thermals vertical velocity','m/s',
    37623752     &                   wstar(:))
    37633753      end if
     
    37953785     &                         'opacity of storm dust',''
    37963786     &                        ,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))
    37993790         do islope=1,nslope
    38003791          write(str2(1:2),'(i2.2)') islope
    38013792             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))
    38043795         ENDDO
    3805              call write_output('dqsdifrdsq','diffusion',
     3796             call write_output('dqsdifrdsq',
     3797     & 'tendency due to vertical diffusion of stormdust on surface',
    38063798     &          'kg.m-2.s-1',zdqsdif(:,igcm_stormdust_mass,iflat))
    38073799         do islope=1,nslope
    38083800          write(str2(1:2),'(i2.2)') islope
    38093801             call write_output('dqsdifrdsq_slope'//str2,
    3810      &           'diffusion',
     3802     & 'tendency due to vertical diffusion of stormdust on surface',
    38113803     &          'kg.m-2.s-1',zdqsdif(:,igcm_stormdust_mass,islope))
    38123804         ENDDO
     
    38733865        call write_output( 'co2conservation',
    38743866     &                     'Total CO2 mass conservation in physic',
    3875      &                     ' ', co2conservation)
     3867     &                     'kg', co2conservation)
    38763868! XIOS outputs
    38773869#ifdef CPP_XIOS     
    38783870      ! Send fields to XIOS: (NB these fields must also be defined as
    38793871      ! <field id="..." /> in context_lmdz_physics.xml to be correctly used)
    3880       CALL send_xios_field("ls",zls*180./pi)
    38813872
    38823873      CALL send_xios_field("controle",tab_cntrl_mod,1)
     
    38863877      CALL send_xios_field("aps",aps,1)
    38873878      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 tendencies
    3908 !      if (calllott) then
    3909 !      CALL send_xios_field("dugw",zdugw/ptimestep)
    3910 !      CALL send_xios_field("dvgw",zdvgw/ptimestep)
    3911 !      CALL send_xios_field("dtgw",zdtgw/ptimestep)
    3912 !      endif
    3913       !CREATE IF CO2CYCLE
    3914 !      if (igcm_co2.ne.0) then
    3915 !         CALL send_xios_field("co2",zq(:,:,igcm_co2))
    3916 !      endif
    3917       ! Water cycle
    3918 !      if (water) then
    3919 !         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) then
    3924 !            CALL send_xios_field("h2o_vap",zq(:,:,igcm_h2o_vap))
    3925 !            CALL send_xios_field("h2o_ice",zq(:,:,igcm_h2o_ice))
    3926 !         endif
    3927 !      endif
    3928 !            if (.not.activice) then
    3929 !      CALL send_xios_field("tauTESap",tauTES)
    3930 !             else
    3931 !      CALL send_xios_field("tauTES",taucloudtes)
    3932 !             endif
    3933 
    3934 !      CALL send_xios_field("h2o_ice_s",qsurf(:,igcm_h2o_ice))
    3935 
    39363879
    39373880      if (lastcall.and.is_omp_master) then
  • trunk/LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90

    r2932 r2934  
    526526! WRITEDIAGFI
    527527
    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(:)))
    534536
    535537        END SUBROUTINE rocketduststorm
  • trunk/LMDZ.MARS/libf/phymars/topmons_mod.F90

    r2932 r2934  
    643643! WRITEDIAGFI
    644644! **********************************************************************
    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(:))
    694694       
    695695        END SUBROUTINE topmons
  • trunk/LMDZ.MARS/libf/phymars/vdifc_mod.F

    r2932 r2934  
    155155
    156156      REAL hdoflux(ngrid)       ! value of vapour flux of HDO
    157       REAL h2oflux(ngrid)       ! value of vapour flux of H2O
     157!      REAL h2oflux(ngrid)       ! value of vapour flux of H2O
    158158      REAL old_h2o_vap(ngrid)   ! traceur d'eau avant traitement
    159159
     
    10631063
    10641064C       Diagnostic output for HDO
    1065         if (hdo) then
    1066             CALL write_output('hdoflux',
    1067      &                       'hdoflux',
    1068      &                       ' ',hdoflux(:)) 
    1069             CALL write_output('h2oflux',
    1070      &                       'h2oflux',
    1071      &                       ' ',h2oflux(:))
    1072         endif
     1065!        if (hdo) then
     1066!            CALL write_output('hdoflux',
     1067!     &                       'hdoflux',
     1068!     &                       ' ',hdoflux(:)) 
     1069!            CALL write_output('h2oflux',
     1070!     &                       'h2oflux',
     1071!     &                       ' ',h2oflux(:))
     1072!        endif
    10731073
    10741074c-----------------------------------------------------------------------
  • trunk/LMDZ.MARS/libf/phymars/watercloud_mod.F

    r2932 r2934  
    269269     &                           cloudfrac(:,:)
    270270      !! 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(:,:))
    279279      END IF ! end if (CLFvarying)
    280280c------------------------------------------------------------------
     
    714714#ifndef MESOSCALE
    715715c=======================================================================
    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))
    721720      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))
    727725      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))
    740738c=======================================================================
    741739#endif
  • trunk/LMDZ.MARS/libf/phymars/write_output_mod.F90

    r2933 r2934  
    44   
    55    INTERFACE write_output
    6       MODULE PROCEDURE write_output_d0,write_output_d1,write_output_d2,write_output_d3
     6      MODULE PROCEDURE write_output_d0,write_output_d1,write_output_d2
    77    END INTERFACE write_output
    88
     
    1313  SUBROUTINE write_output_d0(field_name,title,units,field)
    1414  ! For a surface field
     15#ifdef CPP_XIOS
     16  use xios_output_mod, only: send_xios_field
     17#endif
    1518  IMPLICIT NONE
    1619  include "dimensions.h"
     
    3134  SUBROUTINE write_output_d1(field_name,title,units,field)
    3235  ! For a surface field
     36#ifdef CPP_XIOS
     37  use xios_output_mod, only: send_xios_field
     38#endif
    3339  use comsoil_h, only: nsoilmx
    3440  use writediagsoil_mod, only: writediagsoil
     
    5157  SUBROUTINE write_output_d2(field_name,title,units,field)
    5258  ! For a "3D" horizontal-vertical field
     59#ifdef CPP_XIOS
     60  use xios_output_mod, only: send_xios_field
     61#endif
    5362  use comsoil_h, only: nsoilmx
    5463  use writediagsoil_mod, only: writediagsoil
     
    7382  END SUBROUTINE write_output_d2
    7483
    75   SUBROUTINE write_output_d3(field_name,title,units,field)
    76   ! For a "4D" field surf/alt/??
    77   use comsoil_h, only: nsoilmx
    78   use writediagsoil_mod, only: writediagsoil
    79   IMPLICIT NONE
    80   include "dimensions.h"
    81   INTEGER ngrid
    82   PARAMETER( ngrid = 2+(jjm-1)*iim - 1/jjm   )
    83   CHARACTER(LEN=*),INTENT(IN)    :: field_name
    84   CHARACTER(LEN=*),INTENT(IN)    :: title
    85   CHARACTER(LEN=*),INTENT(IN)    :: units
    86   REAL,INTENT(IN)                :: field(:,:,:)
    87 
    88   if(size(field(:,:,:),3).eq.nsoilmx) then
    89     call writediagsoil(ngrid,field_name,title,units,4,field)
    90   else
    91     call writediagfi(ngrid,field_name,title,units,4,field)
    92   endif
    93 #ifdef CPP_XIOS
    94   call send_xios_field(field_name,field)
    95 #endif
    96  
    97   END SUBROUTINE write_output_d3
    98 
    9984END MODULE write_output_mod
Note: See TracChangeset for help on using the changeset viewer.