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_finalize
 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
    FILE_HISTORY_CARTESC_PRES_NLAYER integer
    FILE_HISTORY_CARTESC_PRES real(RP), dimension(NLAYER_MAX) > pressure level to output [hPa]
    FILE_HISTORY_CARTESC_BOUNDARY logical

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 80 of file scale_file_history_cartesC.F90.

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

subroutine, public scale_file_history_cartesc::file_history_cartesc_finalize

Setup.

Definition at line 260 of file scale_file_history_cartesC.F90.

260  use scale_interp_vert, only: &
262  implicit none
263 
264  if ( file_history_cartesc_pres_nlayer > 0 ) then
266  deallocate( file_history_cartesc_pres_val )
267  end if
268 
269  return

References scale_interp_vert::interp_vert_dealloc_pres().

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 278 of file scale_file_history_cartesC.F90.

278  use scale_interp_vert, only: &
280  implicit none
281 
282  real(RP), intent(in) :: PRES (:,:,:) ! pressure at the full level [Pa]
283  real(RP), intent(in) :: PRESH (:,:,:) ! pressure at the half level [Pa]
284  real(RP), intent(in) :: SFC_PRES( :,:) ! surface pressure [Pa]
285  !---------------------------------------------------------------------------
286 
287  if ( file_history_cartesc_pres_nlayer > 0 ) then
288  call interp_vert_setcoef_pres( file_history_cartesc_pres_nlayer, & ! [IN]
289  ka, ks, ke, & ! [IN]
290  ia, isb, ieb, & ! [IN]
291  ja, jsb, jeb, & ! [IN]
292  pres(:,:,:), & ! [IN]
293  presh(:,:,:), & ! [IN]
294  sfc_pres(:,:) , & ! [IN]
295  file_history_cartesc_pres_val(:) ) ! [IN]
296  pres_set = .true.
297  endif
298 
299  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 511 of file scale_file_history_cartesC.F90.

511  implicit none
512 
513  real(RP), intent(in) :: src(:)
514  character(len=*), intent(in) :: dim_type
515  character(len=*), intent(in) :: zcoord
516  logical, intent(in) :: fill_halo ! ignored
517 
518  real(DP), intent(out) :: dst(:)
519 
520  integer :: ksize
521  integer :: kstart
522  integer :: k
523  !---------------------------------------------------------------------------
524 
525  ! select dimension
526  select case ( dim_type )
527  case ('Z')
528  ksize = file_history_cartesc_model_nlayer
529  kstart = ks
530  case ('ZH')
531  ksize = file_history_cartesc_model_nlayer+1
532  kstart = ks-1
533  case ('OZ')
534  ksize = okmax
535  kstart = oks
536  case ('OZH')
537  ksize = okmax+1
538  kstart = oks-1
539  case ('LZ')
540  ksize = lkmax
541  kstart = lks
542  case ('LZH')
543  ksize = lkmax+1
544  kstart = lks-1
545  case ('UZ')
546  ksize = ukmax
547  kstart = uks
548  case ('UZH')
549  ksize = ukmax+1
550  kstart = uks-1
551  case default
552  log_error("FILE_HISTORY_CARTESC_truncate_1D",*) 'dim_type is invalid: ', trim(dim_type)
553  call prc_abort
554  end select
555 
556  do k = 1, ksize
557  dst(k) = src(kstart+k-1)
558  enddo
559 
560  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 654 of file scale_file_history_cartesC.F90.

654  use scale_file_h, only: &
655  rmiss => file_rmiss
656  use scale_const, only: &
657  undef => const_undef
658  use scale_atmos_grid_cartesc, only: &
661  use scale_atmos_grid_cartesc_real, only: &
664  use scale_interp_vert, only: &
670  implicit none
671 
672  real(RP), intent(in) :: src(:,:,:)
673  character(len=*), intent(in) :: dim_type
674  character(len=*), intent(in) :: zcoord
675  logical, intent(in) :: fill_halo
676  real(DP), intent(out) :: dst(:)
677 
678  real(RP) :: src_Z(KA,IA,JA)
679  real(RP) :: src_P(FILE_HISTORY_CARTESC_PRES_nlayer,IA,JA)
680 
681  logical :: atmos
682 
683  integer :: isize, jsize, ksize
684  integer :: istart, jstart, kstart
685  integer :: i, j, k
686  !---------------------------------------------------------------------------
687 
688  ! select dimension
689  if ( index( dim_type, 'XH' ) == 0 ) then
690  isize = im
691  istart = ims
692  else
693  isize = imh
694  istart = imsh
695  end if
696 
697  if ( index( dim_type, 'YH' ) == 0 ) then
698  jsize = jm
699  jstart = jms
700  else
701  jsize = jmh
702  jstart = jmsh
703  end if
704 
705  select case( dim_type(1:1) )
706  case ( 'Z' )
707  ksize = file_history_cartesc_model_nlayer
708  kstart = ks
709  atmos = .true.
710  case('O')
711  ksize = okmax
712  kstart = oks
713  atmos = .false.
714  case('L')
715  ksize = lkmax
716  kstart = lks
717  atmos = .false.
718  case('U')
719  ksize = ukmax
720  kstart = uks
721  atmos = .false.
722  case default
723  log_error("FILE_HISTORY_CARTESC_truncate_3D",*) 'dim_type is invalid: ', trim(dim_type)
724  call prc_abort
725  end select
726  if ( dim_type(2:2) == 'H' ) then
727  ksize = ksize + 1
728  kstart = kstart - 1
729  end if
730 
731 
732  if ( ksize == file_history_cartesc_model_nlayer .and. zcoord == "z" .and. interp_available .and. atmos ) then ! z*->z interpolation (full level)
733 
734  call prof_rapstart('FILE_O_interp', 2)
735  call interp_vert_xi2z( ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
736  atmos_grid_cartesc_cz(:), & ! [IN]
737  atmos_grid_cartesc_real_cz(:,:,:), & ! [IN]
738  src(:,:,:), & ! [IN]
739  src_z(:,:,:) ) ! [OUT]
740  call prof_rapend ('FILE_O_interp', 2)
741 
742  !$omp parallel do
743  do k = 1, ksize
744  do j = 1, jsize
745  do i = 1, isize
746  dst((k-1)*jsize*isize+(j-1)*isize+i) = src_z(kstart+k-1,istart+i-1,jstart+j-1)
747  enddo
748  enddo
749  enddo
750 
751  else if( ksize == file_history_cartesc_model_nlayer+1 .and. zcoord == "z" .and. interp_available .and. atmos ) then ! z*->z interpolation (half level)
752 
753 
754  call prof_rapstart('FILE_O_interp', 2)
755  call interp_vert_xih2zh( ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
756  atmos_grid_cartesc_fz(:), & ! [IN]
757  atmos_grid_cartesc_real_fz(:,:,:), & ! [IN]
758  src(:,:,:), & ! [IN]
759  src_z(:,:,:) ) ! [OUT]
760  call prof_rapend ('FILE_O_interp', 2)
761 
762  !$omp parallel do
763  do k = 1, ksize
764  do j = 1, jsize
765  do i = 1, isize
766  dst((k-1)*jsize*isize+(j-1)*isize+i) = src_z(kstart+k-1,istart+i-1,jstart+j-1)
767  enddo
768  enddo
769  enddo
770 
771  elseif( zcoord == "pressure" .and. ksize == file_history_cartesc_model_nlayer .and. atmos ) then ! z*->p interpolation (full level)
772  ksize = file_history_cartesc_pres_nlayer
773  if ( ksize == 0 ) then
774  log_error("FILE_HISTORY_CARTESC_truncate_3D",*) 'FILE_HISTORY_CARTESC_PRES_nlayer must be set to output variable with the pressure coordinate'
775  call prc_abort
776  end if
777 
778  if ( pres_set ) then
779 
780  call prof_rapstart('FILE_O_interp', 2)
781  call interp_vert_xi2p( file_history_cartesc_pres_nlayer, & ! [IN]
782  ka, ks, ke, & ! [IN]
783  ia, isb, ieb, & ! [IN]
784  ja, jsb, jeb, & ! [IN]
785  src(:,:,:), & ! [IN]
786  src_p(:,:,:) ) ! [OUT]
787  call prof_rapend ('FILE_O_interp', 2)
788 
789  !$omp parallel do
790  do k = 1, ksize
791  do j = 1, jsize
792  do i = 1, isize
793  dst((k-1)*jsize*isize+(j-1)*isize+i) = src_p(k,istart+i-1,jstart+j-1)
794  enddo
795  enddo
796  enddo
797 
798  else
799 
800  !$omp parallel do
801  do k = 1, ksize
802  do j = 1, jsize
803  do i = 1, isize
804  dst((k-1)*jsize*isize+(j-1)*isize+i) = undef
805  enddo
806  enddo
807  enddo
808 
809  end if
810 
811  elseif( zcoord == "pressure" .and. ksize == file_history_cartesc_model_nlayer+1 .and. atmos ) then ! z*->p interpolation (half level)
812  ksize = file_history_cartesc_pres_nlayer
813  if ( ksize == 0 ) then
814  log_error("FILE_HISTORY_CARTESC_truncate_3D",*) 'FILE_HISTORY_CARTESC_PRES_nlayer must be set to output variable with the pressure coordinate'
815  call prc_abort
816  end if
817 
818  if ( pres_set ) then
819 
820  call prof_rapstart('FILE_O_interp', 2)
821  call interp_vert_xih2p( file_history_cartesc_pres_nlayer, & ! [IN]
822  ka, ks, ke, & ! [IN]
823  ia, isb, ieb, & ! [IN]
824  ja, jsb, jeb, & ! [IN]
825  src(:,:,:), & ! [IN]
826  src_p(:,:,:) ) ! [OUT]
827  call prof_rapend ('FILE_O_interp', 2)
828 
829  !$omp parallel do
830  do k = 1, ksize
831  do j = 1, jsize
832  do i = 1, isize
833  dst((k-1)*jsize*isize+(j-1)*isize+i) = src_p(k,istart+i-1,jstart+j-1)
834  enddo
835  enddo
836  enddo
837 
838  else
839 
840  !$omp parallel do
841  do k = 1, ksize
842  do j = 1, jsize
843  do i = 1, isize
844  dst((k-1)*jsize*isize+(j-1)*isize+i) = undef
845  enddo
846  enddo
847  enddo
848 
849  end if
850 
851  else ! no interpolation
852 
853  do k = 1, ksize
854  do j = 1, jsize
855  do i = 1, isize
856  dst((k-1)*jsize*isize+(j-1)*isize+i) = src(kstart+k-1,istart+i-1,jstart+j-1)
857  enddo
858  enddo
859  enddo
860 
861  endif
862 
863  if ( fill_halo ) then
864  ! W halo
865  do k = 1, ksize
866  do j = 1, jsize
867  do i = 1, is-istart
868  dst((k-1)*jsize*isize+(j-1)*isize+i) = rmiss
869  enddo
870  enddo
871  enddo
872  ! E halo
873  do k = 1, ksize
874  do j = 1, jsize
875  do i = ie-istart+2, ime-istart+1
876  dst((k-1)*jsize*isize+(j-1)*isize+i) = rmiss
877  enddo
878  enddo
879  enddo
880  ! S halo
881  do k = 1, ksize
882  do j = 1, js-jstart
883  do i = 1, isize
884  dst((k-1)*jsize*isize+(j-1)*isize+i) = rmiss
885  enddo
886  enddo
887  enddo
888  ! N halo
889  do k = 1, ksize
890  do j = je-jstart+2, jme-jstart+1
891  do i = 1, isize
892  dst((k-1)*jsize*isize+(j-1)*isize+i) = rmiss
893  enddo
894  enddo
895  enddo
896  endif
897 
898  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_index::isb
integer, public isb
Definition: scale_atmos_grid_cartesC_index.F90:64
scale_atmos_grid_cartesc_index::ke
integer, public ke
end point of inner domain: z, local
Definition: scale_atmos_grid_cartesC_index.F90:52
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_tstats_op, default_datatype, myrank)
Setup.
Definition: scale_file_history.F90:345
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:39
scale_atmos_grid_cartesc_index::jmaxb
integer, public jmaxb
Definition: scale_atmos_grid_cartesC_index.F90:63
scale_prc_cartesc::prc_has_s
logical, public prc_has_s
Definition: scale_prc_cartesC.F90:51
scale_interp_vert::interp_vert_dealloc_pres
subroutine, public interp_vert_dealloc_pres
Finalize for pressure coordinate.
Definition: scale_interp_vert.F90:479
scale_calendar::calendar_get_name
subroutine, public calendar_get_name(name)
Definition: scale_calendar.F90:806
scale_prc_cartesc::prc_periodic_y
logical, public prc_periodic_y
periodic condition or not (Y)?
Definition: scale_prc_cartesC.F90:54
scale_atmos_grid_cartesc_index::ka
integer, public ka
Definition: scale_atmos_grid_cartesC_index.F90:47
scale_time::time_nowsubsec
real(dp), public time_nowsubsec
subsecond part of current time [sec]
Definition: scale_time.F90:71
scale_file_h::file_rmiss
real(dp), parameter, public file_rmiss
Definition: scale_file_h.F90:51
scale_prc::prc_myrank
integer, public prc_myrank
process num in local communicator
Definition: scale_prc.F90:91
scale_calendar
module CALENDAR
Definition: scale_calendar.F90:13
scale_file_history::file_history_truncate_3d
procedure(truncate_3d), pointer, public file_history_truncate_3d
Definition: scale_file_history.F90:101
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:1965
scale_interp_vert::interp_vert_alloc_pres
subroutine, public interp_vert_alloc_pres(Kpres, KA, IA, JA)
Setup for pressure coordinate.
Definition: scale_interp_vert.F90:455
scale_file_h::file_hshort
integer, parameter, public file_hshort
Definition: scale_file_h.F90:21
scale_atmos_grid_cartesc_index::jeb
integer, public jeb
Definition: scale_atmos_grid_cartesC_index.F90:67
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_atmos_grid_cartesc_index::ie
integer, public ie
end point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:54
scale_file_history::file_history_truncate_2d
procedure(truncate_2d), pointer, public file_history_truncate_2d
Definition: scale_file_history.F90:89
scale_prc_cartesc::prc_periodic_x
logical, public prc_periodic_x
periodic condition or not (X)?
Definition: scale_prc_cartesC.F90:53
scale_prc::prc_masterrank
integer, parameter, public prc_masterrank
master process in each communicator
Definition: scale_prc.F90:67
scale_const
module CONSTANT
Definition: scale_const.F90:11
scale_atmos_grid_cartesc_index::ia
integer, public ia
Definition: scale_atmos_grid_cartesC_index.F90:48
scale_interp_vert::interp_available
logical, public interp_available
topography exists & vertical interpolation has meaning?
Definition: scale_interp_vert.F90:43
scale_atmos_grid_cartesc_index::kmax
integer, public kmax
Definition: scale_atmos_grid_cartesC_index.F90:36
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:588
scale_prc_cartesc
module process / cartesC
Definition: scale_prc_cartesC.F90:11
scale_file_history::file_history_truncate_1d
procedure(truncate_1d), pointer, public file_history_truncate_1d
Definition: scale_file_history.F90:77
scale_time::time_nowstep
integer, public time_nowstep
current step [number]
Definition: scale_time.F90:73
scale_atmos_grid_cartesc_index::is
integer, public is
start point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:53
scale_file_h
module file_h
Definition: scale_file_h.F90:11
scale_atmos_grid_cartesc_index::ja
integer, public ja
Definition: scale_atmos_grid_cartesC_index.F90:49
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:212
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:506
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:639
scale_atmos_grid_cartesc_index::ks
integer, public ks
start point of inner domain: z, local
Definition: scale_atmos_grid_cartesC_index.F90:51
scale_atmos_grid_cartesc_index::imaxb
integer, public imaxb
Definition: scale_atmos_grid_cartesC_index.F90:62
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:42
scale_time::time_dtsec
real(dp), public time_dtsec
time interval of model [sec]
Definition: scale_time.F90:33
scale_time::time_nowdate
integer, dimension(6), public time_nowdate
current time [YYYY MM DD HH MM SS]
Definition: scale_time.F90:68
scale_atmos_grid_cartesc_index::js
integer, public js
start point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:55
scale_atmos_grid_cartesc_index::ieb
integer, public ieb
Definition: scale_atmos_grid_cartesC_index.F90:65
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:43
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:41
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:322
scale_const::const_undef
real(rp), public const_undef
Definition: scale_const.F90:43
scale_atmos_grid_cartesc_index::jsb
integer, public jsb
Definition: scale_atmos_grid_cartesC_index.F90:66
scale_prc_cartesc::prc_has_w
logical, public prc_has_w
Definition: scale_prc_cartesC.F90:48
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:77
scale_atmos_grid_cartesc_index::je
integer, public je
end point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:56
scale_prc_cartesc::prc_twod
logical, public prc_twod
2D experiment
Definition: scale_prc_cartesC.F90:56