orog_mask_tools  1.13.0
All Data Structures Namespaces Files Functions Variables Pages
gsl_oro_data.f90
Go to the documentation of this file.
1 
30 
36 program gsl_oro_data
37 
38 use omp_lib
39 
40 use gsl_oro_data_sm_scale, only: calc_gsl_oro_data_sm_scale
41 use gsl_oro_data_lg_scale, only: calc_gsl_oro_data_lg_scale
42 
43 implicit none
44 
45 character(len=2) :: tile_num ! tile number entered by user
46 character(len=7) :: res_indx ! grid-resolution index, e.g., 96, 192, 384, 768,
47  ! etc. entered by user
48 character(len=4) :: halo ! halo value entered by user (for input grid data)
49 
50 logical :: duplicate_oro_data_file ! flag for whether oro_data_ls file is a duplicate
51  ! of oro_data_ss due to minimum grid size being less than 7.5km
52 
53 integer :: tid, nthreads
54 
55 ! Read in FV3GFS grid info
56 print *
57 print *, "Enter tile number:"
58 read (5,*) tile_num
59 print *
60 print *, "Enter grid-resolution index:"
61 read (5,*) res_indx
62 print *
63 print *, "Enter halo number (-999 for no halo):"
64 read (5,*) halo
65 print *
66 print *, "Creating tile oro_data for tile number: ", tile_num
67 print *, "Grid resolution = ", res_indx
68 print *, "Halo = ", halo
69 print *
70 
71 !$OMP PARALLEL PRIVATE(TID)
72  tid = omp_get_thread_num()
73  if (tid==0) then
74  nthreads = omp_get_num_threads()
75  print*,'Number of threads = ', nthreads
76  endif
77 !$OMP END PARALLEL
78 
79 call calc_gsl_oro_data_sm_scale(tile_num,res_indx,halo,duplicate_oro_data_file)
80 
81 print *, "duplicate_oro_data_file =", duplicate_oro_data_file
82 print *
83 
84 if ( .not.duplicate_oro_data_file ) then
85  call calc_gsl_oro_data_lg_scale(tile_num,res_indx,halo)
86 end if
87 
88 
89 print *
90 print *, "End program gsl_oro_data"
91 print *
92 
93 
94 end program gsl_oro_data
program gsl_oro_data
Brief description of program: Creates orographic (oro_data) files needed by the GSL drag suite physic...