1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- module mod_testinfo
- type testinfo
- real :: min, max
- character(len=8) :: fldname
- integer :: toosmall, toolarge
- end type testinfo
- contains
- subroutine tests_init(tests, numtest)
- implicit none
- integer, intent(in) :: numtest
- type(testinfo) , dimension(numtest), intent(out) :: tests
- integer :: k
- tests(:)%toosmall=0
- tests(:)%toolarge=0
- tests(:)%fldname=''
- do k=1,numtest
- select case (k)
- case (1)
- tests(k)%fldname='temp'
- tests(k)%max =40.
- tests(k)%min =-4.8
- case (2)
- tests(k)%fldname='saln'
- tests(k)%max =40.
- tests(k)%min =0.
- case (3)
- tests(k)%fldname='dp'
- tests(k)%max =10000*9806.0
- tests(k)%min =0.0
- case (4)
- tests(k)%fldname='u'
- tests(k)%max =4
- tests(k)%min =-4
- case (5)
- tests(k)%fldname='v'
- tests(k)%max =4
- tests(k)%min =-4
- case (6)
- tests(k)%fldname='ubavg'
- tests(k)%max =2
- tests(k)%min =-2
- case (7)
- tests(k)%fldname='vbavg'
- tests(k)%max =2
- tests(k)%min =-2
- case (8)
- #if defined (SINGLE_RESTART)
- tests(k)%fldname='ficem'
- #else
- tests(k)%fldname='icec'
- #endif
- tests(k)%min =0.0
- tests(k)%max =1.0
- case (9)
- #if defined (SINGLE_RESTART)
- tests(k)%fldname='hicem'
- #else
- tests(k)%fldname='hice'
- #endif
- tests(k)%min =0.0
- tests(k)%max =20.0
- case default
- print *,'Not set up test for k=',k
- end select
- end do
- end subroutine tests_init
- subroutine matchtest(cfld,tests,numtest,testindex)
- implicit none
- integer, intent(in) :: numtest
- character(len=*), intent(in) :: cfld
- type(testinfo), dimension(numtest), intent(in) :: tests
- integer, intent(out) :: testindex
- integer :: i
- testindex=-1
- do i=1,numtest
- if (trim(cfld)==trim(tests(i)%fldname)) testindex=i
- end do
- end subroutine matchtest
- end module mod_testinfo
|