module function create_new_bundle(this,rc) result(new_bundle) class(MaskSamplerGeosat), intent(inout) :: this type(ESMF_FieldBundle) :: new_bundle integer, optional, intent(out) :: rc end function create_new_bundle
module subroutine add_metadata(this,currTime,rc)
module function create_new_bundle(this,rc) result(new_bundle) class(MaskSamplerGeosat), intent(inout) :: this type(ESMF_FieldBundle) :: new_bundle integer, optional, intent(out) :: rc end function create_new_bundle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MaskSamplerGeosat), | intent(inout) | :: | this | |||
integer, | intent(out), | optional | :: | rc |
module function create_new_bundle(this,rc) result(new_bundle) class(MaskSamplerGeosat), intent(inout) :: this type(ESMF_FieldBundle) :: new_bundle integer, optional, intent(out) :: rc end function create_new_bundle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MaskSamplerGeosat), | intent(inout) | :: | this | |||
type(ESMF_Time), | intent(inout) | :: | current_time | |||
integer, | intent(out), | optional | :: | rc |
module function create_new_bundle(this,rc) result(new_bundle) class(MaskSamplerGeosat), intent(inout) :: this type(ESMF_FieldBundle) :: new_bundle integer, optional, intent(out) :: rc end function create_new_bundle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MaskSamplerGeosat), | intent(inout) | :: | this | |||
integer, | intent(out), | optional | :: | rc |
module function create_new_bundle(this,rc) result(new_bundle) class(MaskSamplerGeosat), intent(inout) :: this type(ESMF_FieldBundle) :: new_bundle integer, optional, intent(out) :: rc end function create_new_bundle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MaskSamplerGeosat), | intent(inout) | :: | this | |||
type(ESMF_Time), | intent(in) | :: | current_time | |||
integer, | intent(out), | optional | :: | rc |
module function create_new_bundle(this,rc) result(new_bundle) class(MaskSamplerGeosat), intent(inout) :: this type(ESMF_FieldBundle) :: new_bundle integer, optional, intent(out) :: rc end function create_new_bundle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MaskSamplerGeosat), | intent(inout) | :: | this | |||
character(len=*), | intent(in) | :: | filename | |||
integer, | intent(out), | optional | :: | rc |
module function create_new_bundle(this,rc) result(new_bundle) class(MaskSamplerGeosat), intent(inout) :: this type(ESMF_FieldBundle) :: new_bundle integer, optional, intent(out) :: rc end function create_new_bundle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MaskSamplerGeosat), | intent(inout) | :: | this | |||
integer, | intent(out), | optional | :: | rc |
module function create_new_bundle(this,rc) result(new_bundle) class(MaskSamplerGeosat), intent(inout) :: this type(ESMF_FieldBundle) :: new_bundle integer, optional, intent(out) :: rc end function create_new_bundle
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MaskSamplerGeosat), | intent(inout) | :: | this | |||
type(GriddedIOitemVector), | intent(inout), | optional | :: | items | ||
type(ESMF_FieldBundle), | intent(inout), | optional | :: | bundle | ||
type(timeData), | intent(inout), | optional | :: | timeInfo | ||
type(verticalData), | intent(inout), | optional | :: | vdata | ||
logical, | intent(in), | optional | :: | reinitialize | ||
integer, | intent(out), | optional | :: | rc |
type :: MaskSamplerGeosat private ! character(len=:), allocatable :: grid_file_name character(len=ESMF_MAXSTR) :: grid_file_name ! we need on each PET ! npt_mask, index_mask(1:2,npt_mask)=[i,j] ! integer :: npt_mask integer :: npt_mask_tot integer, allocatable :: index_mask(:,:) type(ESMF_FieldBundle) :: bundle type(GriddedIOitemVector) :: items type(VerticalData) :: vdata logical :: do_vertical_regrid type(TimeData) :: time_info type(ESMF_Clock) :: clock type(ESMF_Time) :: RingTime type(ESMF_TimeInterval) :: epoch_frequency type(FileMetadata) :: metadata type(NetCDF4_FileFormatter) :: formatter character(len=ESMF_MAXSTR) :: ofile ! integer :: nobs integer :: obs_written character(len=ESMF_MAXSTR) :: index_name_x character(len=ESMF_MAXSTR) :: index_name_y character(len=ESMF_MAXSTR) :: index_name_location character(len=ESMF_MAXSTR) :: index_name_lon character(len=ESMF_MAXSTR) :: index_name_lat character(len=ESMF_MAXSTR) :: index_name_loc character(len=ESMF_MAXSTR) :: var_name_time character(len=ESMF_MAXSTR) :: var_name_lat character(len=ESMF_MAXSTR) :: var_name_lon character(len=ESMF_MAXSTR) :: var_name_x character(len=ESMF_MAXSTR) :: var_name_y character(len=ESMF_MAXSTR) :: var_name_proj character(len=ESMF_MAXSTR) :: att_name_proj integer :: xdim_true integer :: ydim_true integer :: thin_factor integer :: epoch ! unit: second integer(kind=ESMF_KIND_I8) :: epoch_index(2) real(kind=REAL64), allocatable :: lons(:) real(kind=REAL64), allocatable :: lats(:) integer, allocatable :: recvcounts(:) integer, allocatable :: displs(:) type(MAPL_MetaComp), pointer :: GENSTATE real(kind=ESMF_KIND_R8), pointer:: obsTime(:) real(kind=ESMF_KIND_R8), allocatable:: t_alongtrack(:) integer :: nobs_dur integer :: nobs_dur_sum type(ESMF_Time) :: obsfile_start_time ! user specify type(ESMF_Time) :: obsfile_end_time type(ESMF_TimeInterval) :: obsfile_interval integer :: obsfile_Ts_index ! for epoch integer :: obsfile_Te_index logical :: is_valid contains procedure :: initialize => initialize_ procedure :: add_metadata procedure :: create_file_handle procedure :: close_file_handle procedure :: append_file => regrid_append_file ! procedure :: create_new_bundle procedure :: create_grid => create_Geosat_grid_find_mask procedure :: compute_time_for_current end type MaskSamplerGeosat