File indexing completed on 2018-03-02 18:40:05 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
a456aa407c Andr*0001 #include "FIZHI_OPTIONS.h"
5d9bcf18ee Andr*0002 subroutine fizhi_alarms (nymdb,nhmsb,deltaT)
bc1872d592 Andr*0003
f3ca1862a9 Jean*0004
0005
0006
bc1872d592 Andr*0007
0008
f3ca1862a9 Jean*0009
0010
0011
0012
bc1872d592 Andr*0013
0014
0015
0016
f3ca1862a9 Jean*0017
bc1872d592 Andr*0018 implicit none
0019
0020
0021
5d9bcf18ee Andr*0022 integer nymdb,nhmsb
0023 _RL deltaT
bc1872d592 Andr*0024
175684e43e Andr*0025 integer myid
bc1872d592 Andr*0026
0027
0028
5d9bcf18ee Andr*0029 integer ndt
bc1872d592 Andr*0030 integer nhmsf, m,n, nd
0031 integer ndlw, ndsw, ndturb, ndmoist
f3ca1862a9 Jean*0032
3811d190df Andr*0033 myid = 1
5d9bcf18ee Andr*0034
0035 ndt = deltaT
0036
bc1872d592 Andr*0037 if( ndt.ne.0 ) then
0038
63416ca6a5 Andr*0039
f3ca1862a9 Jean*0040 ndlw = 003000
63416ca6a5 Andr*0041
f3ca1862a9 Jean*0042 ndsw = 003000
bc1872d592 Andr*0043
0044
0045
0046 ndturb = 2*int( max(1.0,(300./iabs(ndt)+0.5)/2) ) * iabs(ndt)
0047
0048 n = 1
0049 m = -1
0050 nd = ndturb
0051 do while ( mod(3*3600,nd).ne.0 )
0052 nd = ndturb + 2*n*m*ndt
0053 m = -m
0054 n = n+1
0055 if( nd.lt.ndt ) then
3811d190df Andr*0056 if( myid.eq.1 ) then
bc1872d592 Andr*0057 print *
0058 print *, 'Turbulence cannot occur with Model Timestep = ',ndt
0059 print *
0060 endif
0061 call my_finalize
0062 call my_exit (101)
0063 endif
0064 enddo
f3ca1862a9 Jean*0065 ndturb = nhmsf( nd )
bc1872d592 Andr*0066
0067
0068
0069 ndmoist = int( 600./iabs(ndt) + 0.5 ) * iabs(ndt)
0070
0071 n = 1
0072 m = -1
0073 nd = ndmoist
0074 do while ( mod(3*3600,nd).ne.0 )
0075 nd = ndmoist + n*m*ndt
0076 m = -m
0077 n = n+1
0078 if( nd.lt.ndt ) then
3811d190df Andr*0079 if( myid.eq.1 ) then
bc1872d592 Andr*0080 print *
0081 print *, 'Convection cannot occur with Model Timestep = ',ndt
0082 print *
0083 endif
0084 call my_finalize
0085 call my_exit (101)
0086 endif
0087 enddo
0088 ndmoist = nhmsf( nd )
0089
0090 else
0091
0092
0093
63416ca6a5 Andr*0094
f3ca1862a9 Jean*0095 ndlw = 000001
63416ca6a5 Andr*0096
f3ca1862a9 Jean*0097 ndsw = 000001
63416ca6a5 Andr*0098
f3ca1862a9 Jean*0099 ndturb = 000001
63416ca6a5 Andr*0100
f3ca1862a9 Jean*0101 ndmoist = 000001
bc1872d592 Andr*0102
0103 endif
0104
0105
0106
257b288583 Andr*0107
bc1872d592 Andr*0108 call set_alarm ( 'radsw',nymdb,nhmsb,ndsw )
0109 call set_alarm ( 'radlw',nymdb,nhmsb,ndlw )
0110 call set_alarm ( 'turb' ,nymdb,nhmsb,ndturb )
0111 call set_alarm ( 'moist',nymdb,nhmsb,ndmoist )
9524fe64b5 Andr*0112 call set_alarm ( 'pnt',nymdb,nhmsb,0 )
bc1872d592 Andr*0113
0114 return
0115 end