Ignore:
Timestamp:
Apr 3, 2023, 6:17:05 PM (23 months ago)
Author:
romain.vande
Message:

Mars PCM:
Add a new routine to write output called write_output.
It needs to be imported (for example : use write_output_mod, only: write_output)
Then, it requires only 4 arguments : the name of the variable, its title, its units and the variable itself.
It detects the dimension of the variable and decide to output either in diagfi or diagsoil.
It is also compatible with XIOS (xml file needs to be adapted)
Writediagfi and writediagsoil routines are still available in case.
RV

File:
1 edited

Legend:

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

    r2801 r2932  
    1919      use conc_mod, only: mmean
    2020      use comcstfi_h, only: pi, cpp
     21      use write_output_mod, only: write_output
    2122      implicit none
    2223     
     
    540541#ifndef MESOSCALE
    541542!      IF (ngrid.ne.1) THEN ! 3D
    542 !         call WRITEDIAGFI(ngrid,"satu","ratio saturation","",3,
     543!         call write_output("satu","ratio saturation","",
    543544!     &                    satu_out)
    544 !         call WRITEDIAGFI(ngrid,"dM","ccn variation","kg/kg",3,
     545!         call write_output("dM","ccn variation","kg/kg",
    545546!     &                    dM_out)
    546 !         call WRITEDIAGFI(ngrid,"dN","ccn variation","#",3,
     547!         call write_output("dN","ccn variation","#",
    547548!     &                    dN_out)
    548 !         call WRITEDIAGFI(ngrid,"error","dichotomy max error","%",2,
     549!         call write_output("error","dichotomy max error","%",
    549550!     &                    error2d)
    550 !         call WRITEDIAGFI(ngrid,"zqsat","zqsat","kg",3,
     551!         call write_output("zqsat","zqsat","kg",
    551552!     &                    zqsat)
    552553!      ENDIF
    553554
    554555!      IF (ngrid.eq.1) THEN ! 1D
    555 !         call WRITEDIAGFI(ngrid,"error","incertitude sur glace","%",1,
     556!         call write_output("error","incertitude sur glace","%",
    556557!     &                    error_out)
    557          call WRITEdiagfi(ngrid,"resist","resistance","s/m2",1,
    558      &                    res_out)
    559          call WRITEdiagfi(ngrid,"satu_bf","satu before","kg/kg",1,
    560      &                    satubf)
    561          call WRITEdiagfi(ngrid,"satu_af","satu after","kg/kg",1,
    562      &                    satuaf)
    563          call WRITEdiagfi(ngrid,"vapbf","h2ovap before","kg/kg",1,
    564      &                    zq0(1,1,igcm_h2o_vap))
    565          call WRITEdiagfi(ngrid,"vapaf","h2ovap after","kg/kg",1,
    566      &                    zq(1,1,igcm_h2o_vap))
    567          call WRITEdiagfi(ngrid,"icebf","h2oice before","kg/kg",1,
    568      &                    zq0(1,1,igcm_h2o_ice))
    569          call WRITEdiagfi(ngrid,"iceaf","h2oice after","kg/kg",1,
    570      &                    zq(1,1,igcm_h2o_ice))
    571          call WRITEdiagfi(ngrid,"ccnbf","ccn before","/kg",1,
    572      &                    zq0(1,1,igcm_ccn_number))
    573          call WRITEdiagfi(ngrid,"ccnaf","ccn after","/kg",1,
    574      &                    zq(1,1,igcm_ccn_number))
    575 c         call WRITEDIAGFI(ngrid,"growthrate","growth rate","m^2/s",1,
     558         call write_output("resist","resistance","s/m2",
     559     &                    res_out(:,:))
     560         call write_output("satu_bf","satu before","kg/kg",
     561     &                    satubf(:,:))
     562         call write_output("satu_af","satu after","kg/kg",
     563     &                    satuaf(:,:))
     564         call write_output("vapbf","h2ovap before","kg/kg",
     565     &                    zq0(:,:,igcm_h2o_vap))
     566         call write_output("vapaf","h2ovap after","kg/kg",
     567     &                    zq(:,:,igcm_h2o_vap))
     568         call write_output("icebf","h2oice before","kg/kg",
     569     &                    zq0(:,:,igcm_h2o_ice))
     570         call write_output("iceaf","h2oice after","kg/kg",
     571     &                    zq(:,:,igcm_h2o_ice))
     572         call write_output("ccnbf","ccn before","/kg",
     573     &                    zq0(:,:,igcm_ccn_number))
     574         call write_output("ccnaf","ccn after","/kg",
     575     &                    zq(:,:,igcm_ccn_number))
     576c         call write_output("growthrate","growth rate","m^2/s",
    576577c     &                    gr_out)
    577 c         call WRITEDIAGFI(ngrid,"nuclearate","nucleation rate","",1,
     578c         call write_output("nuclearate","nucleation rate","",
    578579c     &                    rate_out)
    579 c         call WRITEDIAGFI(ngrid,"dM","ccn variation","kg",1,
     580c         call write_output("dM","ccn variation","kg",
    580581c     &                    dM_out)
    581 c         call WRITEDIAGFI(ngrid,"dN","ccn variation","#",1,
     582c         call write_output("dN","ccn variation","#",
    582583c     &                    dN_out)
    583          call WRITEdiagfi(ngrid,"zqsat","p vap sat","kg/kg",1,
    584      &                    zqsat)
    585 !         call WRITEDIAGFI(ngrid,"satu","ratio saturation","",1,
    586 !     &                    satu_out)
    587          call WRITEdiagfi(ngrid,"rice","ice radius","m",1,
    588      &                    rice)
    589 !         call WRITEDIAGFI(ngrid,"rdust_sca","rdust","m",1,
     584         call write_output("zqsat","p vap sat","kg/kg",
     585     &                    zqsat(:,:))
     586!         call write_output("satu","ratio saturation","",
     587!     &                    satu_out(:,:))
     588         call write_output("rice","ice radius","m",
     589     &                    rice(:,:))
     590!         call write_output("rdust_sca","rdust","m",
    590591!     &                    rdust)
    591 !         call WRITEDIAGFI(ngrid,"rsedcloud","rsedcloud","m",1,
     592!         call write_output("rsedcloud","rsedcloud","m",
    592593!     &                    rsedcloud)
    593 !         call WRITEDIAGFI(ngrid,"rhocloud","rhocloud","kg.m-3",1,
     594!         call write_output("rhocloud","rhocloud","kg.m-3",
    594595!     &                    rhocloud)
    595596!      ENDIF
Note: See TracChangeset for help on using the changeset viewer.