|
◆ vol7d_dballe_import_old()
subroutine vol7d_dballe_class::vol7d_dballe_import_old |
( |
type(vol7d_dballe), intent(inout) |
this, |
|
|
character(len=*), dimension(:), intent(in), optional |
var, |
|
|
type(vol7d_network), intent(in), optional |
network, |
|
|
type(geo_coord), intent(inout), optional |
coordmin, |
|
|
type(geo_coord), intent(inout), optional |
coordmax, |
|
|
type(datetime), intent(in), optional |
timei, |
|
|
type(datetime), intent(in), optional |
timef, |
|
|
type(vol7d_level), intent(in), optional |
level, |
|
|
type(vol7d_timerange), intent(in), optional |
timerange, |
|
|
type(vol7d_network), intent(in), optional |
set_network, |
|
|
character(len=*), dimension(:), intent(in), optional |
attr, |
|
|
character(len=*), dimension(:), intent(in), optional |
anavar, |
|
|
character(len=*), dimension(:), intent(in), optional |
anaattr, |
|
|
character(len=*), dimension(:), intent(in), optional |
varkind, |
|
|
character(len=*), dimension(:), intent(in), optional |
attrkind, |
|
|
character(len=*), dimension(:), intent(in), optional |
anavarkind, |
|
|
character(len=*), dimension(:), intent(in), optional |
anaattrkind, |
|
|
logical, intent(in), optional |
anaonly, |
|
|
logical, intent(in), optional |
dataonly, |
|
|
type(vol7d_ana), intent(inout), optional |
ana |
|
) |
| |
|
private |
import da DB-all.e
- Parametri
-
Definizione alla linea 507 del file vol7d_dballe_class.F03.
507 mydbacoordmax=dbacoord() 508 if ( present(coordmax)) mydbacoordmax%geo_coord=coordmax 510 if ( present(ana)) mydbaana%vol7d_ana=ana 511 mydatetimemin=dbadatetime() 512 if ( present(timei)) mydatetimemin%datetime=timei 513 mydatetimemax=dbadatetime() 514 if ( present(timef)) mydatetimemax%datetime=timef 515 mydbatimerange=dbatimerange() 516 if ( present(timerange)) mydbatimerange%vol7d_timerange=timerange 517 mydbalevel=dbalevel() 518 if ( present(level)) mydbalevel%vol7d_level=level 519 mydbanetwork=dbanetwork() 520 if ( present(network)) mydbanetwork%vol7d_network=network 525 filter=dbafilter(coordmin=mydbacoordmin,coordmax=mydbacoordmax,ana=mydbaana, & 526 datetimemin=mydatetimemin,datetimemax=mydatetimemax, & 527 timerange=mydbatimerange,level=mydbalevel,network=mydbanetwork,query=query,& 528 vars=vars,starvars=starvars,anavars=anavars,anastarvars=anastarvars,& 529 dataonly=dataonly,anaonly=anaonly) 533 call import(this,filter,set_network) 536 END SUBROUTINE vol7d_dballe_import_old 541 subroutine vol7d_dballe_import(this,filter,set_network) 543 TYPE(vol7d_dballe), INTENT(inout) :: this 544 type(dbafilter), INTENT(in) :: filter 545 TYPE(vol7d_network), INTENT(in), OPTIONAL :: set_network 547 TYPE(vol7d) :: vol7dtmp 548 type(dbametaanddata), allocatable :: metaanddatav(:) 549 type(dbafilter) :: myfilter 551 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe') 553 if ( .not. filter%dataonly) then 555 myfilter=dbafilter(filter=filter,contextana=.true.,query=cmiss) 559 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe ingest for constant station data') 561 call this%handle%ingest(metaanddatav,filter=myfilter) 562 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe ingest') 563 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe dba2v7d') 564 call dba2v7d(this%vol7d, metaanddatav,this%time_definition,set_network) 565 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe dba2v7d') 567 deallocate (metaanddatav) 571 call init(this%vol7d) 572 call vol7d_alloc(this%vol7d) 573 call vol7d_alloc_vol(this%vol7d) 577 if ( .not. filter%anaonly) then 579 myfilter=dbafilter(filter=filter,contextana=.false.) 584 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe ingest for station data') 586 call this%handle%ingest(metaanddatav,filter=myfilter) 587 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe ingest') 588 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe dba2v7d') 589 call dba2v7d(vol7dtmp,metaanddatav,this%time_definition,set_network) 590 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe dba2v7d') 592 deallocate (metaanddatav) 594 CALL vol7d_merge(this%vol7d, vol7dtmp, sort=.true.) 600 call vol7d_dballe_set_var_du(this%vol7d) 619 nullify(this%data_id) 629 this%data_id(indana,indtime,indlevel,indtimerange,indnetwork)=buffer(i)%data_id 632 ier=idba_set(this%handle, "*context_id",buffer(i)%data_id) 633 ier=idba_set(this%handle, "*var_related",buffer(i)%btable) 635 ier=idba_set(this%handle, "*varlist",starvarlist ) 636 ier=idba_voglioancora(this%handle,nn) 641 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe') 643 end subroutine vol7d_dballe_import 649 SUBROUTINE vol7d_dballe_delete(this, preserveidbhandle) 650 TYPE(vol7d_dballe) :: this 651 logical, intent(in), optional :: preserveidbhandle 653 call this%handle%delete() 655 if (.not. optio_log(preserveidbhandle)) call this%idbhandle%delete() 665 call l4f_category_delete(this%category) 668 END SUBROUTINE vol7d_dballe_delete 674 subroutine dba2v7d(this,metaanddatav,time_definition, set_network) 676 type(dbametaanddata), intent(inout) :: metaanddatav(:) 677 TYPE(vol7d), INTENT(inout) :: this 678 integer, INTENT(in), OPTIONAL :: time_definition 679 TYPE(vol7d_network), INTENT(in), OPTIONAL :: set_network 681 type(dbadcv) :: starvars 682 type(dbadcv) :: anavars 683 type(dbadcv) :: anastarvars 687 integer :: indana,indtime,indlevel,indtimerange,inddativar,indnetwork,indattrvar 689 integer :: nana,ntime,ntimerange,nlevel,nnetwork 691 INTEGER :: i, j, k, n 692 integer :: inddativarattr 693 integer :: nanavar, indanavar,indanavarattr,nanavarattr 695 integer :: ndativarr, ndativari, ndativarb, ndativard, ndativarc 696 integer :: ndatiattrr, ndatiattri, ndatiattrb, ndatiattrd, ndatiattrc 697 integer :: ndativarattrr, ndativarattri, ndativarattrb, ndativarattrd, ndativarattrc 699 integer :: nanavarr, nanavari, nanavarb, nanavard, nanavarc 700 integer :: nanaattrr, nanaattri, nanaattrb, nanaattrd, nanaattrc 701 integer :: nanavarattrr, nanavarattri, nanavarattrb, nanavarattrd, nanavarattrc 703 integer :: ndativar,ndativarattr 705 type(characterlist) :: dativarl,dativarattrl,anavarl,anavarattrl 707 character(len=listcharmaxlen), allocatable :: dativara(:),dativarattra(:),anavara(:),anavarattra(:) 709 integer :: ltime_definition 711 type(datetime), allocatable :: tmptime(:) 712 type(vol7d_network), allocatable :: tmpnetwork(:) 713 type(vol7d_level), allocatable :: tmplevel(:) 714 type(vol7d_timerange), allocatable :: tmptimerange(:) 715 type(vol7d_ana), allocatable :: tmpana(:) 718 ltime_definition=optio_i(time_definition) 719 if (.not. c_e(ltime_definition)) ltime_definition = 1 722 if (ltime_definition == 0) then 723 do i =1, size(metaanddatav) 724 metaanddatav(i)%metadata%datetime%datetime = & 725 metaanddatav(i)%metadata%datetime%datetime - & 726 timedelta_new(sec=metaanddatav(i)%metadata%timerange%vol7d_timerange%p1) 731 IF ( PRESENT(set_network)) THEN 732 if ( c_e(set_network)) then Distruttori per le 2 classi.
Costruttori per le classi datetime e timedelta.
|