libsim Versione 7.2.6
|
◆ dbasession_init()
Constructor Without parameter it is initialized to missing.
Definizione alla linea 3996 del file dballe_class.F03. 3998
3999 else
4000 dbasession_init%memconnection=connection
4001 !call self with memconnection without filename
4002 dbasession_init=dbasession(dbasession_init%memconnection,&
4003 write=.true.,wipe=lwrite,repinfo=lrepinfo,&
4004 memdb=lmemdb,loadfile=lloadfile) ! without categoryappend
4005
4006 end if
4007
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
4031else
4032
4033 ier = idba_preparati(connection%dbhandle,dbasession_init%sehandle, lanaflag, ldataflag, lattrflag)
4034 if (lwipe)ier=idba_scopa(dbasession_init%sehandle,lrepinfo)
4035
4036end if
4037
4038dbasession_init%file=lfile
4039if (dbasession_init%file) dbasession_init%filename=filename
4040dbasession_init%mode=lmode
4041dbasession_init%format=lformat
4042dbasession_init%simplified=lsimplified
4043dbasession_init%memdb=lmemdb
4044dbasession_init%loadfile=lloadfile
4045dbasession_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
4058end function dbasession_init
4059
4060
4061!> clean all setting on dballe API
4062subroutine dbasession_unsetall(session)
4063class(dbasession), intent(in) :: session
4064integer :: ier
4065
4066if (c_e(session%sehandle)) then
4067 ier = idba_unsetall(session%sehandle)
4068end if
4069
4070end subroutine dbasession_unsetall
4071
4072
4073!> dballe remove_all
4074subroutine dbasession_remove_all(session)
4075class(dbasession), intent(in) :: session
4076integer :: ier
4077
4078if (c_e(session%sehandle)) then
4079 ier = idba_remove_all(session%sehandle)
4080end if
4081
4082end subroutine dbasession_remove_all
4083
4084
4085!> dballe prendilo
4086subroutine dbasession_prendilo(session)
4087class(dbasession), intent(in) :: session
4088integer :: ier
4089
4090if (c_e(session%sehandle)) then
4091 ier = idba_prendilo(session%sehandle)
4092end if
4093
4094end subroutine dbasession_prendilo
4095
4096!> dballe var_related
4097subroutine dbasession_var_related(session,btable)
4098class(dbasession), intent(in) :: session
4099character(len=*),INTENT(IN) :: btable !< descrittore variabile
4100integer :: ier
4101
4102if (c_e(session%sehandle)) then
4103 ier = idba_set(session%sehandle,"*var_related",btable)
4104end if
4105
4106end subroutine dbasession_var_related
4107
4108!> set parameters in dballe API needed for station data
4109subroutine dbasession_setcontextana(session)
4110class(dbasession), intent(in) :: session
4111integer :: ier
4112
4113if (c_e(session%sehandle)) then
4114 ier = idba_setcontextana(session%sehandle)
4115end if
4116
4117end subroutine dbasession_setcontextana
4118
4119!> dballe dimenticami
4120subroutine dbasession_dimenticami(session)
4121class(dbasession), intent(in) :: session
4122integer :: ier
4123
4124if (c_e(session%sehandle)) then
4125 ier = idba_dimenticami(session%sehandle)
4126end if
4127
4128end subroutine dbasession_dimenticami
4129
4130!> dballe critica
4131subroutine dbasession_critica(session)
4132class(dbasession), intent(in) :: session
4133integer :: ier
4134
4135if (c_e(session%sehandle)) then
4136 ier = idba_critica(session%sehandle)
4137end if
4138
4139end subroutine dbasession_critica
4140
4141!> dballe scusa
4142subroutine dbasession_scusa(session)
4143class(dbasession), intent(in) :: session
4144integer :: ier
4145
4146if (c_e(session%sehandle)) then
4147 ier = idba_scusa(session%sehandle)
4148end if
4149
4150end subroutine dbasession_scusa
4151
4152!> set parameters in dballe API
4153subroutine dbasession_set(session,metadata,datav,data,datetime,ana,network,level,timerange,filter)
4154class(dbasession), intent(in) :: session
4155type (dbametadata),optional :: metadata !< metadata
4156class(dbadcv),optional :: datav !< data array
4157class(dbadata),optional :: data !< data
4158type (dbadatetime),optional :: datetime !< date and time
4159type (dbaana),optional :: ana !< ana
4160type (dbanetwork),optional :: network !< network
4161type (dbalevel),optional :: level !< level
4162type (dbatimerange),optional :: timerange !< timerange
4163type (dbafilter),optional :: filter !< filter for wanted data
4164
4165if (present(metadata)) then
4166 call metadata%dbaset(session)
4167endif
4168
4169if (present(datetime)) then
4170 call datetime%dbaset(session)
4171endif
4172
4173if (present(ana)) then
4174 call ana%dbaset(session)
4175endif
4176
4177if (present(network)) then
4178 call network%dbaset(session)
4179endif
4180
4181if (present(level)) then
4182 call level%dbaset(session)
4183endif
4184
4185if (present(timerange)) then
4186 call timerange%dbaset(session)
4187endif
4188
4189if (present(datav)) then
4190 call datav%dbaset(session)
4191end if
4192
4193if (present(data)) then
4194 call data%dbaset(session)
4195end if
4196
4197if (present(filter)) then
4198 call filter%dbaset(session)
4199end if
4200
4201end 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
|