|
◆ vol7d_dballe_import_old()
subroutine 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 |
|
) |
| |
import da DB-all.e
- Parametri
-
Definizione alla linea 498 del file vol7d_dballe_class.F03.
498 CALL raise_fatal_error() 501 allocate (anastarvars%dcv(i)%dat,source=dbadatac(anaattr(i))) 511 mydbacoordmin=dbacoord() 512 if ( present(coordmin)) mydbacoordmin%geo_coord=coordmin 513 mydbacoordmax=dbacoord() 514 if ( present(coordmax)) mydbacoordmax%geo_coord=coordmax 516 if ( present(ana)) mydbaana%vol7d_ana=ana 517 mydatetimemin=dbadatetime() 518 if ( present(timei)) mydatetimemin%datetime=timei 519 mydatetimemax=dbadatetime() 520 if ( present(timef)) mydatetimemax%datetime=timef 521 mydbatimerange=dbatimerange() 522 if ( present(timerange)) mydbatimerange%vol7d_timerange=timerange 523 mydbalevel=dbalevel() 524 if ( present(level)) mydbalevel%vol7d_level=level 525 mydbanetwork=dbanetwork() 526 if ( present(network)) mydbanetwork%vol7d_network=network 531 filter=dbafilter(coordmin=mydbacoordmin,coordmax=mydbacoordmax,ana=mydbaana, & 532 datetimemin=mydatetimemin,datetimemax=mydatetimemax, & 533 timerange=mydbatimerange,level=mydbalevel,network=mydbanetwork,query=query,& 534 vars=vars,starvars=starvars,anavars=anavars,anastarvars=anastarvars,& 535 dataonly=dataonly,anaonly=anaonly) 539 call import(this,filter,set_network) 542 END SUBROUTINE vol7d_dballe_import_old 547 subroutine vol7d_dballe_import(this,filter,set_network) 549 TYPE(vol7d_dballe), INTENT(inout) :: this 550 type(dbafilter), INTENT(in) :: filter 551 TYPE(vol7d_network), INTENT(in), OPTIONAL :: set_network 553 TYPE(vol7d) :: vol7dtmp 554 type(dbametaanddata), allocatable :: metaanddatav(:) 555 type(dbafilter) :: myfilter 557 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe') 559 if ( .not. filter%dataonly) then 561 myfilter=dbafilter(filter=filter,contextana=.true.,query=cmiss) 565 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe ingest for constant station data') 567 call this%handle%ingest(metaanddatav,filter=myfilter) 568 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe ingest') 569 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe dba2v7d') 570 call dba2v7d(this%vol7d, metaanddatav,this%time_definition,set_network) 571 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe dba2v7d') 573 deallocate (metaanddatav) 577 call init(this%vol7d) 578 call vol7d_alloc(this%vol7d) 579 call vol7d_alloc_vol(this%vol7d) 583 if ( .not. filter%anaonly) then 585 myfilter=dbafilter(filter=filter,contextana=.false.) 590 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe ingest for station data') 592 call this%handle%ingest(metaanddatav,filter=myfilter) 593 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe ingest') 594 CALL l4f_category_log(this%category,l4f_debug, 'start import vol7d_dballe dba2v7d') 595 call dba2v7d(vol7dtmp,metaanddatav,this%time_definition,set_network) 596 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe dba2v7d') 598 deallocate (metaanddatav) 600 CALL vol7d_merge(this%vol7d, vol7dtmp, sort=.true.) 606 call vol7d_dballe_set_var_du(this%vol7d) 625 nullify(this%data_id) 635 this%data_id(indana,indtime,indlevel,indtimerange,indnetwork)=buffer(i)%data_id 638 ier=idba_set(this%handle, "*context_id",buffer(i)%data_id) 639 ier=idba_set(this%handle, "*var_related",buffer(i)%btable) 641 ier=idba_set(this%handle, "*varlist",starvarlist ) 642 ier=idba_voglioancora(this%handle,nn) 647 CALL l4f_category_log(this%category,l4f_debug, 'end import vol7d_dballe') 649 end subroutine vol7d_dballe_import 655 SUBROUTINE vol7d_dballe_delete(this, preserveidbhandle) 656 TYPE(vol7d_dballe) :: this 657 logical, intent(in), optional :: preserveidbhandle 659 # ifndef F2003_FULL_FEATURES 660 call this%handle%delete() 662 if (.not. optio_log(preserveidbhandle)) call this%idbhandle%delete() 670 CALL delete(this%vol7d) 673 call l4f_category_delete(this%category) 676 END SUBROUTINE vol7d_dballe_delete 682 subroutine dba2v7d(this,metaanddatav,time_definition, set_network) 684 type(dbametaanddata), intent(inout) :: metaanddatav(:) 685 TYPE(vol7d), INTENT(inout) :: this 686 integer, INTENT(in), OPTIONAL :: time_definition 687 TYPE(vol7d_network), INTENT(in), OPTIONAL :: set_network 689 type(dbadcv) :: starvars 690 type(dbadcv) :: anavars 691 type(dbadcv) :: anastarvars 695 integer :: indana,indtime,indlevel,indtimerange,inddativar,indnetwork,indattrvar 697 integer :: nana,ntime,ntimerange,nlevel,nnetwork 699 INTEGER :: i, j, k, n 700 integer :: inddativarattr 701 integer :: nanavar, indanavar,indanavarattr,nanavarattr 703 integer :: ndativarr, ndativari, ndativarb, ndativard, ndativarc 704 integer :: ndatiattrr, ndatiattri, ndatiattrb, ndatiattrd, ndatiattrc 705 integer :: ndativarattrr, ndativarattri, ndativarattrb, ndativarattrd, ndativarattrc 707 integer :: nanavarr, nanavari, nanavarb, nanavard, nanavarc 708 integer :: nanaattrr, nanaattri, nanaattrb, nanaattrd, nanaattrc 709 integer :: nanavarattrr, nanavarattri, nanavarattrb, nanavarattrd, nanavarattrc 711 integer :: ndativar,ndativarattr 713 type(characterlist) :: dativarl,dativarattrl,anavarl,anavarattrl 715 character(len=listcharmaxlen), allocatable :: dativara(:),dativarattra(:),anavara(:),anavarattra(:) 717 integer :: ltime_definition 719 type(datetime), allocatable :: tmptime(:) 720 type(vol7d_network), allocatable :: tmpnetwork(:) 721 type(vol7d_level), allocatable :: tmplevel(:) 722 type(vol7d_timerange), allocatable :: tmptimerange(:) 723 type(vol7d_ana), allocatable :: tmpana(:) 726 ltime_definition=optio_i(time_definition) 727 if (.not. c_e(ltime_definition)) ltime_definition = 1 730 if (ltime_definition == 0) then 731 do i =1, size(metaanddatav) 732 metaanddatav(i)%metadata%datetime%datetime = & 733 metaanddatav(i)%metadata%datetime%datetime - & 734 timedelta_new(sec=metaanddatav(i)%metadata%timerange%vol7d_timerange%p1) 739 IF ( PRESENT(set_network)) THEN
|