123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- #define TRACEBACK write (gol,'("in ",a," (",a,i6,")")') rname, __FILE__, __LINE__ ; call goErr
- #define IF_NOTOK_RETURN(action) if (status/=0) then; TRACEBACK; action; return; end if
- #define IF_ERROR_RETURN(action) if (status> 0) then; TRACEBACK; action; return; end if
- #define IF_NOTOK_MDF(action) if (status/=0) then; TRACEBACK; action; call MDF_CLose(fid,status); status=1; return; end if
- !
- #include "tm5.inc"
- !-----------------------------------------------------------------------------
- ! TM5 !
- !-----------------------------------------------------------------------------
- !BOP
- !
- ! !MODULE: USER_OUTPUT_PDUMP
- !
- ! !DESCRIPTION:
- !
- ! Module to deal with time-series output. Output are in NetCDF-4 and use CF
- ! conventions.
- !
- ! ************* DUMMY VERSION FOR USER_OUTPUT.F90 TO COMPILE *****************
- !
- ! See proj/chem/base/trunk/src for non-dummy version.
- !
- !
- !\\
- !\\
- ! !INTERFACE:
- !
- MODULE USER_OUTPUT_PDUMP
- !
- ! !USES:
- !
- IMPLICIT NONE
- PRIVATE
- !
- ! !PUBLIC MEMBER FUNCTIONS:
- !
- public :: Output_PDUMP_Init
- public :: Output_PDUMP_Step
- public :: Output_PDUMP_Done
- !
- ! !PRIVATE DATA MEMBERS:
- !
- character(len=*), parameter :: mname = 'user_output_pdump'
- !
- !EOP
- !------------------------------------------------------------------------
- CONTAINS
- !--------------------------------------------------------------------------
- ! TM5 !
- !--------------------------------------------------------------------------
- !BOP
- !
- ! !IROUTINE: OUTPUT_PDUMP_INIT
- !
- ! !DESCRIPTION: reads rc file keys relevant for pdump
- !\\
- !\\
- ! !INTERFACE:
- !
- SUBROUTINE OUTPUT_PDUMP_INIT( rcF, dhour_min, status )
- !
- ! !USES:
- !
- use GO, only : TrcFile
- !
- ! !INPUT/OUTPUT PARAMETERS:
- !
- type(TrcFile), intent(inout) :: rcF
- !
- ! !OUTPUT PARAMETERS:
- !
- integer, intent(out) :: dhour_min
- integer, intent(out) :: status
- !
- ! !REVISION HISTORY:
- ! 1 Oct 2010 - Achim Strunk - upgrade from RETRO to PDUMP
- !
- !EOP
- !------------------------------------------------------------------------
- !BOC
- character(len=*), parameter :: rname = mname//'/Output_PDUMP_Init'
- ! ok
- dhour_min = 1
- status = 0
- END SUBROUTINE OUTPUT_PDUMP_INIT
- !EOC
- !--------------------------------------------------------------------------
- ! TM5 !
- !--------------------------------------------------------------------------
- !BOP
- !
- ! !IROUTINE: OUTPUT_PDUMP_STEP
- !
- ! !DESCRIPTION:
- !\\
- !\\
- ! !INTERFACE:
- !
- SUBROUTINE OUTPUT_PDUMP_STEP( region, idate_f, status )
- !
- ! !INPUT PARAMETERS:
- !
- integer, intent(in) :: region
- integer, intent(in) :: idate_f(6)
- !
- ! !OUTPUT PARAMETERS:
- !
- integer, intent(out) :: status
- !
- ! !REVISION HISTORY:
- ! 1 Oct 2010 - Achim Strunk - retro -> pdump
- !
- ! !REMARKS:
- ! (1) called every hour.
- !
- !EOP
- !------------------------------------------------------------------------
- !BOC
- character(len=*), parameter :: rname = mname//'/Output_PDUMP_Step'
- status = 0
- END SUBROUTINE OUTPUT_PDUMP_STEP
- !EOC
-
- !--------------------------------------------------------------------------
- ! TM5 !
- !--------------------------------------------------------------------------
- !BOP
- !
- ! !IROUTINE: OUTPUT_PDUMP_DONE
- !
- ! !DESCRIPTION:
- !\\
- !\\
- ! !INTERFACE:
- !
- SUBROUTINE OUTPUT_PDUMP_DONE( status )
- !
- ! !OUTPUT PARAMETERS:
- !
- integer, intent(out) :: status
- !
- ! !REVISION HISTORY:
- ! 1 Oct 2010 - Achim Strunk - retro -> pdump
- ! 31 Aug 2012 - P. Le Sager - reverse order in which regions are dealt with (MDF issue)
- !
- !EOP
- !------------------------------------------------------------------------
- !BOC
- character(len=*), parameter :: rname = mname//'/Output_PDUMP_Done'
- ! ok
- status = 0
- END SUBROUTINE OUTPUT_PDUMP_DONE
- !EOC
- END MODULE USER_OUTPUT_PDUMP
|