C $Header: /u/gcmpack/MITgcm/pkg/fizhi/fizhi_write_state.F,v 1.8 2005/05/15 03:04:56 jmc Exp $
C $Name: $
#include "FIZHI_OPTIONS.h"
CBOP
C !ROUTINE: FIZHI_WRITE_STATE
C !INTERFACE:
SUBROUTINE FIZHI_WRITE_STATE( myTime, myIter, myThid )
C !DESCRIPTION: \bv
C *==========================================================*
C | S/R FIZHI_WRITE_STATE
C | o Writes current state of fizhi package to an output file
C | o Called from do_the_model_io
C *==========================================================*
C \ev
C !USES:
CEOP
IMPLICIT NONE
C == Global variables ===
#include "SIZE.h"
#include "fizhi_SIZE.h"
#include "fizhi_land_SIZE.h"
#include "fizhi_coms.h"
#include "fizhi_land_coms.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
C !INPUT/OUTPUT PARAMETERS:
C == Routine Arguments ==
C suff :: suffix for pickup file
C myTime :: current time
C myIter :: time-step number
C myThid :: Number of this instance
_RL myTime
INTEGER myIter
INTEGER myThid
C !LOCAL VARIABLES:
C fn :: character buffer for creating filename
CHARACTER*(MAX_LEN_FNAM) pref
CHARACTER*(MAX_LEN_MBUF) suff
CHARACTER*(80) fn
logical glf
LOGICAL DIFFERENT_MULTIPLE
EXTERNAL
IF (
& DIFFERENT_MULTIPLE(dumpFreq,myTime,deltaTClock).OR.
& myTime.EQ.endTime .OR.
& myTime.EQ.startTime
& ) THEN
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
C-- Write fields as consecutive records
glf = .FALSE.
WRITE(suff,'(I10.10)') myIter
pref = 'fizhi_U.'
WRITE( fn, '(A,A)' ) pref(1:8),suff(1:10)
call MDSWRITEFIELD(fn,64,glf,'RL',Nrphys,uphy,1,myIter,myThid)
pref = 'fizhi_V.'
WRITE( fn, '(A,A)' ) pref(1:8),suff(1:10)
call MDSWRITEFIELD(fn,64,glf,'RL',Nrphys,vphy,1,myIter,myThid)
pref = 'fizhi_T.'
WRITE( fn, '(A,A)' ) pref(1:8),suff(1:10)
call MDSWRITEFIELD(fn,64,glf,'RL',Nrphys,thphy,1,myIter,myThid)
pref = 'fizhi_S.'
WRITE( fn, '(A,A)' ) pref(1:8),suff(1:10)
call MDSWRITEFIELD(fn,64,glf,'RL',Nrphys,sphy,1,myIter,myThid)
ENDIF
RETURN
END