** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Wed, 21 May 2024 05:11:33 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/fizhi/fizhi_alarms.F
File indexing completed on 2018-03-02 18:40:05 UTC
view on github raw 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