libsim  Versione7.2.6

◆ dbasession_init()

recursive type(dbasession) function dballe_class::dbasession_init ( type(dbaconnection), intent(in), optional  connection,
character (len=*), intent(in), optional  anaflag,
character (len=*), intent(in), optional  dataflag,
character (len=*), intent(in), optional  attrflag,
character (len=*), intent(in), optional  filename,
character (len=*), intent(in), optional  mode,
character(len=*), intent(in), optional  format,
character (len=*), intent(in), optional  template,
logical, intent(in), optional  write,
logical, intent(in), optional  wipe,
character(len=*), intent(in), optional  repinfo,
logical, intent(in), optional  simplified,
logical, intent(in), optional  memdb,
logical, intent(in), optional  loadfile,
character(len=*), intent(in), optional  categoryappend 
)
private

Constructor Without parameter it is initialized to missing.

Parametri
[in]connectiondballe connection
[in]anaflagcontrols access to pseudoana records and can have these values "read": pseudoana records cannot be modified; "write": pseudoana records can be added and removed.
[in]dataflagcontrol access to observed data and can have these values "read": data cannot be modified in any way; "add": data can be added to the database, but existing data cannot be modified. Deletions are disabled. This is used to insert new data in the database while preserving the data that was already present in it; "write": data can freely be added, overwritten and deleted.
[in]attrflagcontrols access to data attributes and can have these values "read": attributes cannot be modified in any way; "write": attributes can freely be added, overwritten and deleted. Note that some combinations are illegal, such as pseudoana=read and data=add (when adding a new data, it's sometimes necessary to insert new pseudoana records), or data=rewrite and attr=read (when deleting data, their attributes are deleted as well).
[in]filenameoptional file name to use
[in]mode"r"/"w"/"a" the open mode ("r" for read, "w" for write or create, "a" for append)
[in]templatetemplate to use for write on file
[in]writeenable write on DSN/file ( default=.false. )
[in]wipeclean DSN/file and initialize it ( default=.false. )
[in]repinfooptional file repinfo.csv to use with wipe ( default="" )
[in]formatthe file format. It can be "BUFR", "CREX" or "JSON". (default="BUFR")
[in]simplifiedrappresentation for interpreted message (simplified/precise)
[in]memdbif true set a memdb ready for import data from file (default=true if filename present else false)
[in]loadfileif true import from file to memdb (default=true if filename present else false)
[in]categoryappendname to append to namespace category of log4fortran

Definizione alla linea 4008 del file dballe_class.F03.

4008  if (lmode == "r") then
4009  call dbasession_init%messages_open_input(filename=filename,mode=lmode,&
4010  format=lformat,simplified=lsimplified)
4011 
4012  if (lloadfile)then
4013  read_next = dbasession_init%messages_read_next()
4014  do while (read_next)
4015  read_next = dbasession_init%messages_read_next()
4016  end do
4017  end if
4018  else
4019 
4020  call dbasession_init%messages_open_output(filename=filename,&
4021  mode=lmode,format=lformat)
4022 
4023  end if
4024 
4025  else
4026 
4027  ier = idba_messaggi(dbasession_init%sehandle,filename, lmode, lformat)
4028 
4029  end if
4030 
4031 else
4032 
4033  ier = idba_preparati(connection%dbhandle,dbasession_init%sehandle, lanaflag, ldataflag, lattrflag)
4034  if (lwipe)ier=idba_scopa(dbasession_init%sehandle,lrepinfo)
4035 
4036 end if
4037 
4038 dbasession_init%file=lfile
4039 if (dbasession_init%file) dbasession_init%filename=filename
4040 dbasession_init%mode=lmode
4041 dbasession_init%format=lformat
4042 dbasession_init%simplified=lsimplified
4043 dbasession_init%memdb=lmemdb
4044 dbasession_init%loadfile=lloadfile
4045 dbasession_init%template=ltemplate
4046 
4047 !!$print*,"--------------- at end ---------------------------------"
4048 !!$print *,'file',dbasession_init%file
4049 !!$print *,'filename',trim(dbasession_init%filename)
4050 !!$print *,'mode',dbasession_init%mode
4051 !!$print *,'format',dbasession_init%format
4052 !!$print *,'simplified',dbasession_init%simplified
4053 !!$print *,'memdb',dbasession_init%memdb
4054 !!$print *,'loadfile',dbasession_init%loadfile
4055 !!$print *,'template',dbasession_init%template
4056 !!$print*,"------------------------------------------------"
4057 
4058 end function dbasession_init
4059 
4060 
4062 subroutine dbasession_unsetall(session)
4063 class(dbasession), intent(in) :: session
4064 integer :: ier
4065 
4066 if (c_e(session%sehandle)) then
4067  ier = idba_unsetall(session%sehandle)
4068 end if
4069 
4070 end subroutine dbasession_unsetall
4071 
4072 
4074 subroutine dbasession_remove_all(session)
4075 class(dbasession), intent(in) :: session
4076 integer :: ier
4077 
4078 if (c_e(session%sehandle)) then
4079  ier = idba_remove_all(session%sehandle)
4080 end if
4081 
4082 end subroutine dbasession_remove_all
4083 
4084 
4086 subroutine dbasession_prendilo(session)
4087 class(dbasession), intent(in) :: session
4088 integer :: ier
4089 
4090 if (c_e(session%sehandle)) then
4091  ier = idba_prendilo(session%sehandle)
4092 end if
4093 
4094 end subroutine dbasession_prendilo
4095 
4097 subroutine dbasession_var_related(session,btable)
4098 class(dbasession), intent(in) :: session
4099 character(len=*),INTENT(IN) :: btable
4100 integer :: ier
4101 
4102 if (c_e(session%sehandle)) then
4103  ier = idba_set(session%sehandle,"*var_related",btable)
4104 end if
4105 
4106 end subroutine dbasession_var_related
4107 
4109 subroutine dbasession_setcontextana(session)
4110 class(dbasession), intent(in) :: session
4111 integer :: ier
4112 
4113 if (c_e(session%sehandle)) then
4114  ier = idba_setcontextana(session%sehandle)
4115 end if
4116 
4117 end subroutine dbasession_setcontextana
4118 
4120 subroutine dbasession_dimenticami(session)
4121 class(dbasession), intent(in) :: session
4122 integer :: ier
4123 
4124 if (c_e(session%sehandle)) then
4125  ier = idba_dimenticami(session%sehandle)
4126 end if
4127 
4128 end subroutine dbasession_dimenticami
4129 
4131 subroutine dbasession_critica(session)
4132 class(dbasession), intent(in) :: session
4133 integer :: ier
4134 
4135 if (c_e(session%sehandle)) then
4136  ier = idba_critica(session%sehandle)
4137 end if
4138 
4139 end subroutine dbasession_critica
4140 
4142 subroutine dbasession_scusa(session)
4143 class(dbasession), intent(in) :: session
4144 integer :: ier
4145 
4146 if (c_e(session%sehandle)) then
4147  ier = idba_scusa(session%sehandle)
4148 end if
4149 
4150 end subroutine dbasession_scusa
4151 
4153 subroutine dbasession_set(session,metadata,datav,data,datetime,ana,network,level,timerange,filter)
4154 class(dbasession), intent(in) :: session
4155 type(dbametadata),optional :: metadata
4156 class(dbadcv),optional :: datav
4157 class(dbadata),optional :: data
4158 type(dbadatetime),optional :: datetime
4159 type(dbaana),optional :: ana
4160 type(dbanetwork),optional :: network
4161 type(dbalevel),optional :: level
4162 type(dbatimerange),optional :: timerange
4163 type(dbafilter),optional :: filter
4164 
4165 if (present(metadata)) then
4166  call metadata%dbaset(session)
4167 endif
4168 
4169 if (present(datetime)) then
4170  call datetime%dbaset(session)
4171 endif
4172 
4173 if (present(ana)) then
4174  call ana%dbaset(session)
4175 endif
4176 
4177 if (present(network)) then
4178  call network%dbaset(session)
4179 endif
4180 
4181 if (present(level)) then
4182  call level%dbaset(session)
4183 endif
4184 
4185 if (present(timerange)) then
4186  call timerange%dbaset(session)
4187 endif
4188 
4189 if (present(datav)) then
4190  call datav%dbaset(session)
4191 end if
4192 
4193 if (present(data)) then
4194  call data%dbaset(session)
4195 end if
4196 
4197 if (present(filter)) then
4198  call filter%dbaset(session)
4199 end if
4200 
4201 end subroutine dbasession_set
4202 
4203 
4204 !!! Those are for reverse order call session%extrude(object)
4205 
4206 !!$!> put data on DSN
4207 !!$subroutine dbasession_extrude_ana(session,ana)
4208 !!$class(dbasession), intent(in) :: session
4209 !!$class(dbaana) :: ana !< ana
4210 !!$call ana%extrude(session)
4211 !!$end subroutine dbasession_extrude_ana
4212 !!$
4213 !!$!> put data on DSN
4214 !!$subroutine dbasession_extrude_dataattr(session,dataattr)
4215 !!$class(dbasession), intent(in) :: session
4216 !!$class(dbadataattr) :: dataattr !< dataattr
4217 !!$call dataattr%extrude(session)
4218 !!$end subroutine dbasession_extrude_dataattr
4219 !!$
4220 !!$!> put data on DSN
4221 !!$subroutine dbasession_extrude_dataattrv(session,dataattrv,noattr,filter)
4222 !!$class(dbasession), intent(in) :: session
4223 !!$class(dbadataattrv) :: dataattrv !< array datatattr
4224 !!$logical, intent(in),optional :: noattr !< set to .true. to get data only (no attribute)
4225 !!$type(dbafilter),intent(in),optional :: filter !< use this to filter wanted data
4226 !!$
4227 !!$call dataattrv%extrude(session,noattr,filter)
4228 !!$end subroutine dbasession_extrude_dataattrv
4229 !!$
4230 !!$!> put data on DSN
4231 !!$subroutine dbasession_extrude_metaanddata(session,metaanddata,noattr,filter)
4232 !!$class(dbasession), intent(in) :: session
4233 !!$class(dbametaanddata) :: metaanddata !< metaanddata
4234 !!$logical, intent(in),optional :: noattr !< set to .true. to get data only (no attribute)
4235 !!$type(dbafilter),intent(in),optional :: filter !< use this to filter wanted data
4236 !!$
4237 !!$call metaanddata%extrude(session,noattr,filter)
4238 !!$end subroutine dbasession_extrude_metaanddata
4239 !!$
4240 !!$!> put data on DSN
4241 !!$subroutine dbasession_extrude_metaanddatai(session,metaanddatai)
4242 !!$class(dbasession), intent(in) :: session
4243 !!$class(dbametaanddatai) :: metaanddatai !< metaanddatai
4244 !!$call metaanddatai%extrude(session)
4245 !!$end subroutine dbasession_extrude_metaanddatai
4246 !!$
4247 !!$!> put data on DSN
4248 !!$subroutine dbasession_extrude_metaanddatab(session,metaanddatab)
4249 !!$class(dbasession), intent(in) :: session
4250 !!$class(dbametaanddatab) :: metaanddatab !< metaanddatab
4251 !!$call metaanddatab%extrude(session)
4252 !!$end subroutine dbasession_extrude_metaanddatab
4253 !!$
4254 !!$!> put data on DSN
4255 !!$subroutine dbasession_extrude_metaanddatad(session,metaanddatad)

Generated with Doxygen.