C $Header: /u/gcmpack/MITgcm/pkg/fizhi/fizhi_diagalarms.F,v 1.5 2005/10/14 16:58:33 molod Exp $
C $Name: $
#include "FIZHI_OPTIONS.h"
subroutine FIZHI_DIAGALARMS (myThid)
C***********************************************************************
C Purpose
C -------
C Routine to Set Alarms for diagnostic output
C
C Argument Description
C --------------------
C myThid .... Process ID
C
C NOTE: This routine ASSUMES that fizhi_init_fixed has been called
C IT WILL NOT WORK OTHERWISE
C***********************************************************************
implicit none
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "DIAGNOSTICS_SIZE.h"
#include "DIAGNOSTICS.h"
#include "chronos.h"
c Input Parameters
c ----------------
integer myThid
c Local variables
c -------------------
integer nhmsf, n, nincr
integer mmdd,hhmmss,nsecf2
character *9 tagname
integer nymdb,nhmsb
_RL absfreq
c Set Alarm Clocks
c ----------------
c To Set Begin Time for Alarm Clocks:
c Increment < 1 month - counting starts at model start time
c Increment >= 1 month - counting starts at beginning of start month
c ----------------------------------------------------------------------
C- 2D/3D field diagnostics:
do n = 1,nlists
absfreq = abs(freq(n))
if(absfreq.lt.100.) then
nymdb = nymd
nhmsb = nhms
else
nymdb = int(nymd/100) * 100 + 1
nhmsb = 0
endif
write(tagname,'(A,I2.2)')'diagtag',n
mmdd = int(absfreq)
hhmmss = int((absfreq - int(absfreq))*1.e6)
nincr = mmdd * 1.e6 + hhmmss
call SET_ALARM(tagname,nymdb,nhmsb,nincr)
enddo
C- Global/Regional statistics diagnostics:
do n = 1,diagSt_nbLists
absfreq = abs(diagSt_freq(n))
if(absfreq.lt.100.) then
nymdb = nymd
nhmsb = nhms
else
nymdb = int(nymd/100) * 100 + 1
nhmsb = 0
endif
write(tagname,'(A,I2.2)')'diagStg',n
mmdd = int(absfreq)
hhmmss = int((absfreq - int(absfreq))*1.e6)
nincr = mmdd * 1.e6 + hhmmss
call SET_ALARM(tagname,nymdb,nhmsb,nincr)
enddo
return
end