MODULE setupmd USE varsmd IMPLICIT NONE TYPE domain CHARACTER(LEN=4) :: init REAL :: blon, blat END TYPE CONTAINS SUBROUTINE modeldf() z1 = (/0., 10., 20., 30., 40., 50., 60., 70., & 85., 100., 120., 150., 200., 300., 450., 650., & 900.,1300.,1800.,2400.,3200.,4200.,5500./) zrtof =(/0.0, 2.5, 5.0, 7.5, 10.0, 15.0, 20.0, 30.0, 40.0, 50.0, & 75.0, 100.0, 125.0, 150.0, 176.0, 205.0, 238.0, 276.0, & 320.0, 369.0, 426.0, 490.0, 563.0, 647.0, 742.0, 850.0, & 974.0, 1115.0, 1276.0, 1459.0, 1668.0, 1906.0, 2178.0, & 2488.0, 2840.0, 3243.0, 3701.0, 4224.0, 4820.0, 5500.0/) END SUBROUTINE modeldf SUBROUTINE swcorner(init, blon, blat) INTEGER, PARAMETER :: ndom = 1 INTEGER :: k CHARACTER(LEN=4), INTENT(IN) :: init REAL, INTENT(OUT) :: blon, blat TYPE(domain) :: wn TYPE(domain), DIMENSION(ndom) :: d wn = domain('rtwn', -178.0, 5.0) d = (/wn/) DO k = 1, ndom IF ( d(k)%init == init ) THEN blon = d(k)%blon blat = d(k)%blat RETURN ENDIF ENDDO WRITE(6,*) 'Bad region selection... stopping now.' STOP END SUBROUTINE swcorner END MODULE setupmd