SCALE-RM
Functions/Subroutines
scale_file_history_cartesc Module Reference

module file / history_cartesC More...

Functions/Subroutines

subroutine, public file_history_cartesc_setup
 Setup. More...
 
subroutine, public file_history_cartesc_set_pres (PRES, PRESH, SFC_PRES)
 set hydrostatic pressure for pressure coordinate More...
 
subroutine file_history_cartesc_truncate_1d (src, dim_type, zcoord, fill_halo, dst)
 truncate 1D data to history buffer More...
 
subroutine file_history_cartesc_truncate_3d (src, dim_type, zcoord, fill_halo, dst)
 truncate 3D data to history buffer More...
 

Detailed Description

module file / history_cartesC

Description
History output module for the cartesianC grid
Author
Team SCALE
NAMELIST
  • PARAM_FILE_HISTORY_CARTESC
    nametypedefault valuecomment
    FILE_HISTORY_CARTESC_MODEL_NLAYER integer -1
    FILE_HISTORY_CARTESC_PRES_NLAYER integer 0
    FILE_HISTORY_CARTESC_PRES real(RP), dimension(NLAYER_MAX) > pressure level to output [hPa]
    FILE_HISTORY_CARTESC_BOUNDARY logical .false.

History Output
No history output

Function/Subroutine Documentation

◆ file_history_cartesc_setup()

subroutine, public scale_file_history_cartesc::file_history_cartesc_setup

Setup.

Definition at line 79 of file scale_file_history_cartesC.F90.

79  use scale_file_h, only: &
80  file_hshort
81  use scale_file_history, only: &
84  file_history_truncate_1d, &
85  file_history_truncate_2d, &
86  file_history_truncate_3d
87  use scale_prc, only: &
90  use scale_prc_cartesc, only: &
91  prc_periodic_x, &
92  prc_periodic_y, &
93  prc_twod, &
94  prc_has_w, &
95  prc_has_s
96  use scale_time, only: &
97  time_nowdate, &
99  time_nowstep, &
100  time_dtsec, &
102  use scale_calendar, only: &
104  use scale_interp_vert, only: &
106  implicit none
107 
108  integer, parameter :: nlayer_max = 300
109  real(RP) :: FILE_HISTORY_CARTESC_PRES(nlayer_max)
110 
111  namelist / param_file_history_cartesc / &
112  file_history_cartesc_model_nlayer, &
113  file_history_cartesc_pres_nlayer, &
114  file_history_cartesc_pres, &
115  file_history_cartesc_boundary
116 
117  character(len=H_MID) :: FILE_HISTORY_CARTESC_H_TITLE = 'SCALE-RM FILE_HISTORY_CARTESC OUTPUT'
118  character(len=H_MID) :: FILE_HISTORY_CARTESC_T_SINCE
119 
120  character(len=FILE_HSHORT) :: calendar
121  real(DP) :: start_daysec
122  integer :: ierr
123  integer :: k
124  !---------------------------------------------------------------------------
125 
126  log_newline
127  log_info("FILE_HISTORY_CARTESC_setup",*) 'Setup'
128 
129  file_history_cartesc_pres(:) = 0.0_rp
130 
131  !--- read namelist
132  rewind(io_fid_conf)
133  read(io_fid_conf,nml=param_file_history_cartesc,iostat=ierr)
134  if( ierr < 0 ) then !--- missing
135  log_info("FILE_HISTORY_CARTESC_setup",*) 'Not found namelist. Default used.'
136  elseif( ierr > 0 ) then !--- fatal error
137  log_error("FILE_HISTORY_CARTESC_setup",*) 'Not appropriate names in namelist PARAM_FILE_HISTORY_CARTESC. Check!'
138  call prc_abort
139  endif
140  log_nml(param_file_history_cartesc)
141 
142  if ( file_history_cartesc_model_nlayer < 0 ) then
143  file_history_cartesc_model_nlayer = kmax
144  end if
145 
146 
147  ! check pressure coordinate
148  if ( file_history_cartesc_pres_nlayer > 0 ) then
149  if ( file_history_cartesc_pres_nlayer > nlayer_max ) then
150  log_error("FILE_HISTORY_CARTESC_setup",'(a,i3)') 'FILE_HISTORY_CARTESC_PRES_nlayer must be <= ', nlayer_max
151  call prc_abort
152  end if
153  allocate( file_history_cartesc_pres_val(file_history_cartesc_pres_nlayer) )
154 
155  do k = 1, file_history_cartesc_pres_nlayer
156  if ( file_history_cartesc_pres(k) <= 0.0_rp ) then
157  log_error("FILE_HISTORY_CARTESC_setup",'(a,i3,f7.1)') 'Invalid value found in pressure coordinate! (k,value)=', k, file_history_cartesc_pres(k)
158  call prc_abort
159  elseif ( file_history_cartesc_pres(k+1) >= file_history_cartesc_pres(k) ) then
160  log_error("FILE_HISTORY_CARTESC_setup",'(a,i3,2f7.1)') 'The value of pressure coordinate must be descending order! ', &
161  '(k,value[k],value[k+1])=', k, file_history_cartesc_pres(k), file_history_cartesc_pres(k+1)
162  call prc_abort
163  endif
164  file_history_cartesc_pres_val(k) = file_history_cartesc_pres(k) * 100.0_rp ! [hPa->Pa]
165  enddo
166 
167  call interp_vert_alloc_pres( file_history_cartesc_pres_nlayer, ka, ia, ja ) ! [IN]
168  else
169  log_info("FILE_HISTORY_CARTESC_setup",*) 'FILE_HISTORY_CARTESC_PRES_nlayer is not set.'
170  log_info("FILE_HISTORY_CARTESC_setup",*) 'Output with pressure coordinate is disabled'
171  endif
172 
173 
174 
175  file_history_cartesc_startdate(:) = time_nowdate
176  file_history_cartesc_startsubsec = time_nowsubsec
177 
178  start_daysec = time_startdaysec
179  if ( time_nowdate(1) > 0 ) then
180  write(file_history_cartesc_t_since,'(I4.4,5(A1,I2.2))') time_nowdate(1), &
181  '-', time_nowdate(2), &
182  '-', time_nowdate(3), &
183  ' ', time_nowdate(4), &
184  ':', time_nowdate(5), &
185  ':', time_nowdate(6)
186  start_daysec = time_nowsubsec
187  else
188  file_history_cartesc_t_since = ''
189  endif
190 
191  if ( file_history_cartesc_boundary ) then
192  ims = isb
193  ime = ieb
194  jms = jsb
195  jme = jeb
196 
197  imsh = ims
198  jmsh = jms
199 
200  im = imaxb
201  jm = jmaxb
202  imh = im
203  jmh = jm
204  else
205  ims = is
206  ime = ie
207  jms = js
208  jme = je
209 
210  if ( prc_twod .OR. prc_has_w .OR. prc_periodic_x ) then
211  imsh = ims
212  else
213  imsh = ims - 1 ! including i = IS-1
214  endif
215  if ( prc_has_s .OR. prc_periodic_y ) then
216  jmsh = jms
217  else
218  jmsh = jms - 1 ! include j = JS-1
219  endif
220 
221  im = ime - ims + 1
222  jm = jme - jms + 1
223  imh = ime - imsh + 1
224  jmh = jme - jmsh + 1
225  endif
226 
227  ! get calendar name
228  call calendar_get_name( calendar )
229 
230  call file_history_setup( file_history_cartesc_h_title, & ! [IN]
231  h_source, h_institute, & ! [IN]
232  start_daysec, time_dtsec, & ! [IN]
233  time_since = file_history_cartesc_t_since, & ! [IN]
234  calendar = calendar, & ! [IN]
235  default_zcoord = 'model', & ! [IN]
236  myrank = prc_myrank ) ! [IN]
237 
239 
240  call file_history_cartesc_set_dims
241 
242  call file_history_cartesc_set_axes
243 
244  call file_history_cartesc_set_axes_attributes
245 
246  file_history_truncate_1d => file_history_cartesc_truncate_1d
247  file_history_truncate_2d => file_history_cartesc_truncate_2d
248  file_history_truncate_3d => file_history_cartesc_truncate_3d
249 
250  return

References scale_calendar::calendar_get_name(), file_history_cartesc_truncate_1d(), file_history_cartesc_truncate_3d(), scale_file_history::file_history_set_nowdate(), scale_file_history::file_history_setup(), scale_file_history::file_history_truncate_1d, scale_file_history::file_history_truncate_2d, scale_file_history::file_history_truncate_3d, scale_file_h::file_hshort, scale_io::h_institute, scale_io::h_source, scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::ieb, scale_atmos_grid_cartesc_index::imaxb, scale_interp_vert::interp_vert_alloc_pres(), scale_io::io_fid_conf, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::isb, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::jeb, scale_atmos_grid_cartesc_index::jmaxb, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::jsb, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::kmax, scale_prc_cartesc::prc_has_s, scale_prc_cartesc::prc_has_w, scale_prc::prc_masterrank, scale_prc::prc_myrank, scale_prc_cartesc::prc_periodic_x, scale_prc_cartesc::prc_periodic_y, scale_prc_cartesc::prc_twod, scale_time::time_dtsec, scale_time::time_nowdate, scale_time::time_nowstep, scale_time::time_nowsubsec, and scale_time::time_startdaysec.

Referenced by mod_rm_driver::rm_driver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ file_history_cartesc_set_pres()

subroutine, public scale_file_history_cartesc::file_history_cartesc_set_pres ( real(rp), dimension (:,:,:), intent(in)  PRES,
real(rp), dimension (:,:,:), intent(in)  PRESH,
real(rp), dimension( :,:), intent(in)  SFC_PRES 
)

set hydrostatic pressure for pressure coordinate

Definition at line 260 of file scale_file_history_cartesC.F90.

260  use scale_interp_vert, only: &
262  implicit none
263 
264  real(RP), intent(in) :: PRES (:,:,:) ! pressure at the full level [Pa]
265  real(RP), intent(in) :: PRESH (:,:,:) ! pressure at the half level [Pa]
266  real(RP), intent(in) :: SFC_PRES( :,:) ! surface pressure [Pa]
267  !---------------------------------------------------------------------------
268 
269  if ( file_history_cartesc_pres_nlayer > 0 ) then
270  call interp_vert_setcoef_pres( file_history_cartesc_pres_nlayer, & ! [IN]
271  ka, ks, ke, & ! [IN]
272  ia, isb, ieb, & ! [IN]
273  ja, jsb, jeb, & ! [IN]
274  pres(:,:,:), & ! [IN]
275  presh(:,:,:), & ! [IN]
276  sfc_pres(:,:) , & ! [IN]
277  file_history_cartesc_pres_val(:) ) ! [IN]
278  pres_set = .true.
279  endif
280 
281  return

References scale_file_history::file_history_set_dim(), scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ieb, scale_atmos_grid_cartesc_index::imax, scale_atmos_grid_cartesc_index::imaxb, scale_interp_vert::interp_vert_setcoef_pres(), scale_atmos_grid_cartesc_index::isb, scale_atmos_grid_cartesc_index::isgb, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::jeb, scale_atmos_grid_cartesc_index::jmax, scale_atmos_grid_cartesc_index::jmaxb, scale_atmos_grid_cartesc_index::jsb, scale_atmos_grid_cartesc_index::jsgb, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, scale_land_grid_cartesc_index::lkmax, scale_mapprojection::mapprojection_mappinginfo, scale_ocean_grid_cartesc_index::okmax, scale_prc_cartesc::prc_2drank, scale_prc_cartesc::prc_has_s, scale_prc_cartesc::prc_has_w, scale_prc::prc_myrank, scale_prc_cartesc::prc_periodic_x, scale_prc_cartesc::prc_periodic_y, and scale_urban_grid_cartesc_index::ukmax.

Referenced by mod_atmos_vars::atmos_vars_history_setpres().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ file_history_cartesc_truncate_1d()

subroutine scale_file_history_cartesc::file_history_cartesc_truncate_1d ( real(rp), dimension(:), intent(in)  src,
character(len=*), intent(in)  dim_type,
character(len=*), intent(in)  zcoord,
logical, intent(in)  fill_halo,
real(dp), dimension(:), intent(out)  dst 
)

truncate 1D data to history buffer

Definition at line 493 of file scale_file_history_cartesC.F90.

493  implicit none
494 
495  real(RP), intent(in) :: src(:)
496  character(len=*), intent(in) :: dim_type
497  character(len=*), intent(in) :: zcoord
498  logical, intent(in) :: fill_halo ! ignored
499 
500  real(DP), intent(out) :: dst(:)
501 
502  integer :: ksize
503  integer :: kstart
504  integer :: k
505  !---------------------------------------------------------------------------
506 
507  ! select dimension
508  select case ( dim_type )
509  case ('Z')
510  ksize = file_history_cartesc_model_nlayer
511  kstart = ks
512  case ('ZH')
513  ksize = file_history_cartesc_model_nlayer+1
514  kstart = ks-1
515  case ('OZ')
516  ksize = okmax
517  kstart = oks
518  case ('OZH')
519  ksize = okmax+1
520  kstart = oks-1
521  case ('LZ')
522  ksize = lkmax
523  kstart = lks
524  case ('LZH')
525  ksize = lkmax+1
526  kstart = lks-1
527  case ('UZ')
528  ksize = ukmax
529  kstart = uks
530  case ('UZH')
531  ksize = ukmax+1
532  kstart = uks-1
533  case default
534  log_error("FILE_HISTORY_CARTESC_truncate_1D",*) 'dim_type is invalid: ', trim(dim_type)
535  call prc_abort
536  end select
537 
538  do k = 1, ksize
539  dst(k) = src(kstart+k-1)
540  enddo
541 
542  return

References scale_file_h::file_rmiss, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::ks, scale_land_grid_cartesc_index::lkmax, scale_land_grid_cartesc_index::lks, scale_ocean_grid_cartesc_index::okmax, scale_ocean_grid_cartesc_index::oks, scale_prc::prc_abort(), scale_urban_grid_cartesc_index::ukmax, and scale_urban_grid_cartesc_index::uks.

Referenced by file_history_cartesc_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ file_history_cartesc_truncate_3d()

subroutine scale_file_history_cartesc::file_history_cartesc_truncate_3d ( real(rp), dimension(:,:,:), intent(in)  src,
character(len=*), intent(in)  dim_type,
character(len=*), intent(in)  zcoord,
logical, intent(in)  fill_halo,
real(dp), dimension(:), intent(out)  dst 
)

truncate 3D data to history buffer

Definition at line 636 of file scale_file_history_cartesC.F90.

636  use scale_file_h, only: &
637  rmiss => file_rmiss
638  use scale_const, only: &
639  undef => const_undef
640  use scale_atmos_grid_cartesc, only: &
643  use scale_atmos_grid_cartesc_real, only: &
646  use scale_interp_vert, only: &
652  implicit none
653 
654  real(RP), intent(in) :: src(:,:,:)
655  character(len=*), intent(in) :: dim_type
656  character(len=*), intent(in) :: zcoord
657  logical, intent(in) :: fill_halo
658  real(DP), intent(out) :: dst(:)
659 
660  real(RP) :: src_Z(KA,IA,JA)
661  real(RP) :: src_P(FILE_HISTORY_CARTESC_PRES_nlayer,IA,JA)
662 
663  logical :: atmos
664 
665  integer :: isize, jsize, ksize
666  integer :: istart, jstart, kstart
667  integer :: i, j, k
668  !---------------------------------------------------------------------------
669 
670  ! select dimension
671  if ( index( dim_type, 'XH' ) == 0 ) then
672  isize = im
673  istart = ims
674  else
675  isize = imh
676  istart = imsh
677  end if
678 
679  if ( index( dim_type, 'YH' ) == 0 ) then
680  jsize = jm
681  jstart = jms
682  else
683  jsize = jmh
684  jstart = jmsh
685  end if
686 
687  select case( dim_type(1:1) )
688  case ( 'Z' )
689  ksize = file_history_cartesc_model_nlayer
690  kstart = ks
691  atmos = .true.
692  case('O')
693  ksize = okmax
694  kstart = oks
695  atmos = .false.
696  case('L')
697  ksize = lkmax
698  kstart = lks
699  atmos = .false.
700  case('U')
701  ksize = ukmax
702  kstart = uks
703  atmos = .false.
704  case default
705  log_error("FILE_HISTORY_CARTESC_truncate_3D",*) 'dim_type is invalid: ', trim(dim_type)
706  call prc_abort
707  end select
708  if ( dim_type(2:2) == 'H' ) then
709  ksize = ksize + 1
710  kstart = kstart - 1
711  end if
712 
713 
714  if ( ksize == file_history_cartesc_model_nlayer .and. zcoord == "z" .and. interp_available .and. atmos ) then ! z*->z interpolation (full level)
715 
716  call prof_rapstart('FILE_O_interp', 2)
717  call interp_vert_xi2z( ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
718  atmos_grid_cartesc_cz(:), & ! [IN]
719  atmos_grid_cartesc_real_cz(:,:,:), & ! [IN]
720  src(:,:,:), & ! [IN]
721  src_z(:,:,:) ) ! [OUT]
722  call prof_rapend ('FILE_O_interp', 2)
723 
724  !$omp parallel do
725  do k = 1, ksize
726  do j = 1, jsize
727  do i = 1, isize
728  dst((k-1)*jsize*isize+(j-1)*isize+i) = src_z(kstart+k-1,istart+i-1,jstart+j-1)
729  enddo
730  enddo
731  enddo
732 
733  else if( ksize == file_history_cartesc_model_nlayer+1 .and. zcoord == "z" .and. interp_available .and. atmos ) then ! z*->z interpolation (half level)
734 
735 
736  call prof_rapstart('FILE_O_interp', 2)
737  call interp_vert_xih2zh( ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
738  atmos_grid_cartesc_fz(:), & ! [IN]
739  atmos_grid_cartesc_real_fz(:,:,:), & ! [IN]
740  src(:,:,:), & ! [IN]
741  src_z(:,:,:) ) ! [OUT]
742  call prof_rapend ('FILE_O_interp', 2)
743 
744  !$omp parallel do
745  do k = 1, ksize
746  do j = 1, jsize
747  do i = 1, isize
748  dst((k-1)*jsize*isize+(j-1)*isize+i) = src_z(kstart+k-1,istart+i-1,jstart+j-1)
749  enddo
750  enddo
751  enddo
752 
753  elseif( zcoord == "pressure" .and. ksize == file_history_cartesc_model_nlayer .and. atmos ) then ! z*->p interpolation (full level)
754  ksize = file_history_cartesc_pres_nlayer
755  if ( ksize == 0 ) then
756  log_error("FILE_HISTORY_CARTESC_truncate_3D",*) 'FILE_HISTORY_CARTESC_PRES_nlayer must be set to output variable with the pressure coordinate'
757  call prc_abort
758  end if
759 
760  if ( pres_set ) then
761 
762  call prof_rapstart('FILE_O_interp', 2)
763  call interp_vert_xi2p( file_history_cartesc_pres_nlayer, & ! [IN]
764  ka, ks, ke, & ! [IN]
765  ia, isb, ieb, & ! [IN]
766  ja, jsb, jeb, & ! [IN]
767  src(:,:,:), & ! [IN]
768  src_p(:,:,:) ) ! [OUT]
769  call prof_rapend ('FILE_O_interp', 2)
770 
771  !$omp parallel do
772  do k = 1, ksize
773  do j = 1, jsize
774  do i = 1, isize
775  dst((k-1)*jsize*isize+(j-1)*isize+i) = src_p(k,istart+i-1,jstart+j-1)
776  enddo
777  enddo
778  enddo
779 
780  else
781 
782  !$omp parallel do
783  do k = 1, ksize
784  do j = 1, jsize
785  do i = 1, isize
786  dst((k-1)*jsize*isize+(j-1)*isize+i) = undef
787  enddo
788  enddo
789  enddo
790 
791  end if
792 
793  elseif( zcoord == "pressure" .and. ksize == file_history_cartesc_model_nlayer+1 .and. atmos ) then ! z*->p interpolation (half level)
794  ksize = file_history_cartesc_pres_nlayer
795  if ( ksize == 0 ) then
796  log_error("FILE_HISTORY_CARTESC_truncate_3D",*) 'FILE_HISTORY_CARTESC_PRES_nlayer must be set to output variable with the pressure coordinate'
797  call prc_abort
798  end if
799 
800  if ( pres_set ) then
801 
802  call prof_rapstart('FILE_O_interp', 2)
803  call interp_vert_xih2p( file_history_cartesc_pres_nlayer, & ! [IN]
804  ka, ks, ke, & ! [IN]
805  ia, isb, ieb, & ! [IN]
806  ja, jsb, jeb, & ! [IN]
807  src(:,:,:), & ! [IN]
808  src_p(:,:,:) ) ! [OUT]
809  call prof_rapend ('FILE_O_interp', 2)
810 
811  !$omp parallel do
812  do k = 1, ksize
813  do j = 1, jsize
814  do i = 1, isize
815  dst((k-1)*jsize*isize+(j-1)*isize+i) = src_p(k,istart+i-1,jstart+j-1)
816  enddo
817  enddo
818  enddo
819 
820  else
821 
822  !$omp parallel do
823  do k = 1, ksize
824  do j = 1, jsize
825  do i = 1, isize
826  dst((k-1)*jsize*isize+(j-1)*isize+i) = undef
827  enddo
828  enddo
829  enddo
830 
831  end if
832 
833  else ! no interpolation
834 
835  do k = 1, ksize
836  do j = 1, jsize
837  do i = 1, isize
838  dst((k-1)*jsize*isize+(j-1)*isize+i) = src(kstart+k-1,istart+i-1,jstart+j-1)
839  enddo
840  enddo
841  enddo
842 
843  endif
844 
845  if ( fill_halo ) then
846  ! W halo
847  do k = 1, ksize
848  do j = 1, jsize
849  do i = 1, is-istart
850  dst((k-1)*jsize*isize+(j-1)*isize+i) = rmiss
851  enddo
852  enddo
853  enddo
854  ! E halo
855  do k = 1, ksize
856  do j = 1, jsize
857  do i = ie-istart+2, ime-istart+1
858  dst((k-1)*jsize*isize+(j-1)*isize+i) = rmiss
859  enddo
860  enddo
861  enddo
862  ! S halo
863  do k = 1, ksize
864  do j = 1, js-jstart
865  do i = 1, isize
866  dst((k-1)*jsize*isize+(j-1)*isize+i) = rmiss
867  enddo
868  enddo
869  enddo
870  ! N halo
871  do k = 1, ksize
872  do j = je-jstart+2, jme-jstart+1
873  do i = 1, isize
874  dst((k-1)*jsize*isize+(j-1)*isize+i) = rmiss
875  enddo
876  enddo
877  enddo
878  endif
879 
880  return

References scale_atmos_grid_cartesc::atmos_grid_cartesc_cbfx, scale_atmos_grid_cartesc::atmos_grid_cartesc_cbfxg, scale_atmos_grid_cartesc::atmos_grid_cartesc_cbfy, scale_atmos_grid_cartesc::atmos_grid_cartesc_cbfyg, scale_atmos_grid_cartesc::atmos_grid_cartesc_cbfz, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdx, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdxg, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdy, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdyg, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdz, scale_atmos_grid_cartesc::atmos_grid_cartesc_cx, scale_atmos_grid_cartesc::atmos_grid_cartesc_cxg, scale_atmos_grid_cartesc::atmos_grid_cartesc_cy, scale_atmos_grid_cartesc::atmos_grid_cartesc_cyg, scale_atmos_grid_cartesc::atmos_grid_cartesc_cz, scale_atmos_grid_cartesc::atmos_grid_cartesc_fbfx, scale_atmos_grid_cartesc::atmos_grid_cartesc_fbfxg, scale_atmos_grid_cartesc::atmos_grid_cartesc_fbfy, scale_atmos_grid_cartesc::atmos_grid_cartesc_fbfyg, scale_atmos_grid_cartesc::atmos_grid_cartesc_fbfz, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdx, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdxg, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdy, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdyg, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdz, scale_atmos_grid_cartesc::atmos_grid_cartesc_fx, scale_atmos_grid_cartesc::atmos_grid_cartesc_fxg, scale_atmos_grid_cartesc::atmos_grid_cartesc_fy, scale_atmos_grid_cartesc::atmos_grid_cartesc_fyg, scale_atmos_grid_cartesc::atmos_grid_cartesc_fz, scale_atmos_grid_cartesc::atmos_grid_cartesc_name, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_area, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areauy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areawuy_x, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areawxv_y, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areaxv, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areazuv_x, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areazuv_y, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areazuy_x, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areazxv_y, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areazxy_x, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areazxy_y, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_cz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_fz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lat, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_latuv, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_latuy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_latxv, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lon, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lonuv, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lonuy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lonxv, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_vol, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volwxy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzuy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzxv, scale_calendar::calendar_get_name(), scale_const::const_d2r, scale_const::const_undef, scale_file::file_get_cftunits(), scale_file_history::file_history_aggregate, scale_file_history::file_history_set_axis(), scale_file_h::file_rmiss, scale_atmos_grid_cartesc_index::iag, scale_atmos_grid_cartesc_index::iagb, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::ie_ing, scale_atmos_grid_cartesc_index::ieb, scale_atmos_grid_cartesc_index::ihalo, scale_atmos_grid_cartesc_index::imax, scale_atmos_grid_cartesc_index::imaxg, scale_interp_vert::interp_available, scale_interp_vert::interp_vert_xi2p(), scale_interp_vert::interp_vert_xi2z(), scale_interp_vert::interp_vert_xih2p(), scale_interp_vert::interp_vert_xih2zh(), scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::is_ing, scale_atmos_grid_cartesc_index::isb, scale_atmos_grid_cartesc_index::isga, scale_atmos_grid_cartesc_index::isgb, scale_atmos_grid_cartesc_index::jag, scale_atmos_grid_cartesc_index::jagb, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::je_ing, scale_atmos_grid_cartesc_index::jeb, scale_atmos_grid_cartesc_index::jhalo, scale_atmos_grid_cartesc_index::jmax, scale_atmos_grid_cartesc_index::jmaxg, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::js_ing, scale_atmos_grid_cartesc_index::jsb, scale_atmos_grid_cartesc_index::jsga, scale_atmos_grid_cartesc_index::jsgb, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::khalo, scale_atmos_grid_cartesc_index::kmax, scale_atmos_grid_cartesc_index::ks, scale_land_grid_cartesc::land_grid_cartesc_cdz, scale_land_grid_cartesc::land_grid_cartesc_cz, scale_land_grid_cartesc::land_grid_cartesc_fz, scale_land_grid_cartesc_real::land_grid_cartesc_real_vol, scale_landuse::landuse_frac_land, scale_land_grid_cartesc_index::lke, scale_land_grid_cartesc_index::lkmax, scale_land_grid_cartesc_index::lks, scale_mapprojection::mapprojection_mappinginfo, scale_ocean_grid_cartesc::ocean_grid_cartesc_cdz, scale_ocean_grid_cartesc::ocean_grid_cartesc_cz, scale_ocean_grid_cartesc::ocean_grid_cartesc_fz, scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_vol, scale_ocean_grid_cartesc_index::oke, scale_ocean_grid_cartesc_index::okmax, scale_ocean_grid_cartesc_index::oks, scale_prc_cartesc::prc_2drank, scale_prc::prc_abort(), scale_prc_cartesc::prc_has_e, scale_prc_cartesc::prc_has_n, scale_prc_cartesc::prc_has_s, scale_prc_cartesc::prc_has_w, scale_prc::prc_myrank, scale_prc_cartesc::prc_num_x, scale_prc_cartesc::prc_num_y, scale_prc_cartesc::prc_periodic_x, scale_prc_cartesc::prc_periodic_y, scale_prc_cartesc::prc_twod, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), scale_topography::topography_zsfc, scale_urban_grid_cartesc_index::uke, scale_urban_grid_cartesc_index::ukmax, scale_urban_grid_cartesc_index::uks, scale_urban_grid_cartesc::urban_grid_cartesc_cdz, scale_urban_grid_cartesc::urban_grid_cartesc_cz, scale_urban_grid_cartesc::urban_grid_cartesc_fz, and scale_urban_grid_cartesc_real::urban_grid_cartesc_real_vol.

Referenced by file_history_cartesc_setup().

Here is the call graph for this function:
Here is the caller graph for this function:
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_cz
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_cz
geopotential height [m] (zxy)
Definition: scale_atmos_grid_cartesC_real.F90:38
scale_atmos_grid_cartesc_index::jmaxb
integer, public jmaxb
Definition: scale_atmos_grid_cartesC_index.F90:62
scale_prc_cartesc::prc_has_s
logical, public prc_has_s
Definition: scale_prc_cartesC.F90:50
scale_calendar::calendar_get_name
subroutine, public calendar_get_name(name)
Definition: scale_calendar.F90:715
scale_time::time_nowsubsec
real(dp), public time_nowsubsec
subsecond part of current time [sec]
Definition: scale_time.F90:69
scale_prc::prc_myrank
integer, public prc_myrank
process num in local communicator
Definition: scale_prc.F90:90
scale_calendar
module CALENDAR
Definition: scale_calendar.F90:13
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
scale_file_history
module file_history
Definition: scale_file_history.F90:15
scale_file_history::file_history_set_nowdate
subroutine, public file_history_set_nowdate(NOWDATE, NOWSUBSEC, NOWSTEP)
set now step
Definition: scale_file_history.F90:1697
scale_interp_vert::interp_vert_alloc_pres
subroutine, public interp_vert_alloc_pres(Kpres, KA, IA, JA)
Setup.
Definition: scale_interp_vert.F90:345
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_prc::prc_masterrank
integer, parameter, public prc_masterrank
master process in each communicator
Definition: scale_prc.F90:66
scale_const
module CONSTANT
Definition: scale_const.F90:11
scale_interp_vert::interp_available
logical, public interp_available
topography exists & vertical interpolation has meaning?
Definition: scale_interp_vert.F90:41
scale_interp_vert::interp_vert_xi2p
subroutine, public interp_vert_xi2p(Kpres, KA, KS, KE, IA, IS, IE, JA, JS, JE, var, var_P)
Definition: scale_interp_vert.F90:443
scale_prc_cartesc
module process / cartesC
Definition: scale_prc_cartesC.F90:11
scale_file_history::file_history_setup
subroutine, public file_history_setup(title, source, institution, time_start, time_interval, time_units, time_since, calendar, default_basename, default_postfix_timelabel, default_zcoord, default_tinterval, default_tunit, default_taverage, default_datatype, myrank)
Setup.
Definition: scale_file_history.F90:342
scale_time::time_nowstep
integer, public time_nowstep
current step [number]
Definition: scale_time.F90:71
scale_file_h
module file_h
Definition: scale_file_h.F90:11
scale_time
module TIME
Definition: scale_time.F90:11
scale_interp_vert::interp_vert_xi2z
subroutine, public interp_vert_xi2z(KA, KS, KE, IA, IS, IE, JA, JS, JE, Xi, Z, var, var_Z)
Definition: scale_interp_vert.F90:186
scale_interp_vert::interp_vert_setcoef_pres
subroutine, public interp_vert_setcoef_pres(Kpres, KA, KS, KE, IA, IS, IE, JA, JS, JE, PRES, PRESh, SFC_PRES, Paxis)
Definition: scale_interp_vert.F90:374
scale_interp_vert::interp_vert_xih2p
subroutine, public interp_vert_xih2p(Kpres, KA, KS, KE, IA, IS, IE, JA, JS, JE, var, var_P)
Definition: scale_interp_vert.F90:482
scale_atmos_grid_cartesc_index::imaxb
integer, public imaxb
Definition: scale_atmos_grid_cartesC_index.F90:61
scale_atmos_grid_cartesc::atmos_grid_cartesc_fz
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_fz
face coordinate [m]: z, local
Definition: scale_atmos_grid_cartesC.F90:41
scale_time::time_nowdate
integer, dimension(6), public time_nowdate
current time [YYYY MM DD HH MM SS]
Definition: scale_time.F90:66
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_fz
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_fz
geopotential height [m] (wxy)
Definition: scale_atmos_grid_cartesC_real.F90:42
scale_atmos_grid_cartesc
module atmosphere / grid / cartesC
Definition: scale_atmos_grid_cartesC.F90:12
scale_atmos_grid_cartesc::atmos_grid_cartesc_cz
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cz
center coordinate [m]: z, local
Definition: scale_atmos_grid_cartesC.F90:40
scale_interp_vert::interp_vert_xih2zh
subroutine, public interp_vert_xih2zh(KA, KS, KE, IA, IS, IE, JA, JS, JE, Xih, Zh, var, var_Z)
Definition: scale_interp_vert.F90:268
scale_prc_cartesc::prc_has_w
logical, public prc_has_w
Definition: scale_prc_cartesC.F90:47
scale_interp_vert
module INTERPOLATION vertical
Definition: scale_interp_vert.F90:11
scale_time::time_startdaysec
real(dp), public time_startdaysec
second of start time [sec]
Definition: scale_time.F90:75
scale_prc_cartesc::prc_twod
logical, public prc_twod
2D experiment
Definition: scale_prc_cartesC.F90:55