libsim Versione 7.1.11

◆ vol7d_network_delete()

subroutine vol7d_network_delete ( type(vol7d_network), intent(inout)  this)

Distrugge l'oggetto in maniera pulita, assegnandogli un valore mancante.

Parametri
[in,out]thisoggetto da distruggre

Definizione alla linea 403 del file vol7d_network_class.F90.

404! Copyright (C) 2010 ARPA-SIM <urpsim@smr.arpa.emr.it>
405! authors:
406! Davide Cesari <dcesari@arpa.emr.it>
407! Paolo Patruno <ppatruno@arpa.emr.it>
408
409! This program is free software; you can redistribute it and/or
410! modify it under the terms of the GNU General Public License as
411! published by the Free Software Foundation; either version 2 of
412! the License, or (at your option) any later version.
413
414! This program is distributed in the hope that it will be useful,
415! but WITHOUT ANY WARRANTY; without even the implied warranty of
416! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
417! GNU General Public License for more details.
418
419! You should have received a copy of the GNU General Public License
420! along with this program. If not, see <http://www.gnu.org/licenses/>.
421#include "config.h"
422
430USE kinds
433IMPLICIT NONE
434
435integer, parameter :: network_name_len=20
436
441TYPE vol7d_network
442 character(len=network_name_len) :: name
443END TYPE vol7d_network
444
446TYPE(vol7d_network),PARAMETER :: vol7d_network_miss=vol7d_network(cmiss)
447
451INTERFACE init
452 MODULE PROCEDURE vol7d_network_init
453END INTERFACE
454
457INTERFACE delete
458 MODULE PROCEDURE vol7d_network_delete
459END INTERFACE
460
464INTERFACE OPERATOR (==)
465 MODULE PROCEDURE vol7d_network_eq
466END INTERFACE
467
471INTERFACE OPERATOR (/=)
472 MODULE PROCEDURE vol7d_network_ne
473END INTERFACE
474
478INTERFACE OPERATOR (>)
479 MODULE PROCEDURE vol7d_network_gt
480END INTERFACE
481
485INTERFACE OPERATOR (<)
486 MODULE PROCEDURE vol7d_network_lt
487END INTERFACE
488
492INTERFACE OPERATOR (>=)
493 MODULE PROCEDURE vol7d_network_ge
494END INTERFACE
495
499INTERFACE OPERATOR (<=)
500 MODULE PROCEDURE vol7d_network_le
501END INTERFACE
502
503#define VOL7D_POLY_TYPE TYPE(vol7d_network)
504#define VOL7D_POLY_TYPES _network
505#define ENABLE_SORT
506#include "array_utilities_pre.F90"
507
509INTERFACE display
510 MODULE PROCEDURE display_network
511END INTERFACE
512
514INTERFACE c_e
515 MODULE PROCEDURE c_e_network
516END INTERFACE
517
519INTERFACE to_char
520 MODULE PROCEDURE to_char_network
521END INTERFACE
522
523CONTAINS
524
530FUNCTION vol7d_network_new(name) RESULT(this)
531CHARACTER(len=*),INTENT(in),OPTIONAL :: name
532
533TYPE(vol7d_network) :: this
534
535CALL init(this, name)
536
537END FUNCTION vol7d_network_new
538
539
543SUBROUTINE vol7d_network_init(this, name)
544TYPE(vol7d_network),INTENT(INOUT) :: this
545CHARACTER(len=*),INTENT(in),OPTIONAL :: name
546
547IF (PRESENT(name)) THEN
548 this%name = lowercase(name)
549ELSE
550 this%name = cmiss
551END IF
552
553END SUBROUTINE vol7d_network_init
554
555
557SUBROUTINE vol7d_network_delete(this)
558TYPE(vol7d_network),INTENT(INOUT) :: this
559
560this%name = cmiss
561
562END SUBROUTINE vol7d_network_delete
563
564
565subroutine display_network(this)
566
567TYPE(vol7d_network),INTENT(in) :: this
568
569print*,to_char_network(this)
570
571end subroutine display_network
572
573
574elemental function c_e_network(this) result(res)
575
576TYPE(vol7d_network),INTENT(in) :: this
577logical :: res
578
579res = .not. this == vol7d_network_miss
580
581end function c_e_network
582
583
584elemental character(len=20) function to_char_network(this)
585
586TYPE(vol7d_network),INTENT(in) :: this
587
588to_char_network="Network: "//trim(this%name)
589
590return
591
592end function to_char_network
593
594
595ELEMENTAL FUNCTION vol7d_network_eq(this, that) RESULT(res)
596TYPE(vol7d_network),INTENT(IN) :: this, that
597LOGICAL :: res
598
599res = (this%name == that%name)
600
601END FUNCTION vol7d_network_eq
602
603
604ELEMENTAL FUNCTION vol7d_network_ne(this, that) RESULT(res)
605TYPE(vol7d_network),INTENT(IN) :: this, that
606LOGICAL :: res
607
608res = .NOT.(this == that)
609
610END FUNCTION vol7d_network_ne
611
612
613ELEMENTAL FUNCTION vol7d_network_gt(this, that) RESULT(res)
614TYPE(vol7d_network),INTENT(IN) :: this, that
615LOGICAL :: res
616
617res = this%name > that%name
618
619END FUNCTION vol7d_network_gt
620
621ELEMENTAL FUNCTION vol7d_network_lt(this, that) RESULT(res)
622TYPE(vol7d_network),INTENT(IN) :: this, that
623LOGICAL :: res
624
625res = this%name < that%name
626
627END FUNCTION vol7d_network_lt
628
629
630ELEMENTAL FUNCTION vol7d_network_ge(this, that) RESULT(res)
631TYPE(vol7d_network),INTENT(IN) :: this, that
632LOGICAL :: res
633
634res = this%name >= that%name
635
636END FUNCTION vol7d_network_ge
637
638ELEMENTAL FUNCTION vol7d_network_le(this, that) RESULT(res)
639TYPE(vol7d_network),INTENT(IN) :: this, that
640LOGICAL :: res
641
642res = this%name <= that%name
643
644END FUNCTION vol7d_network_le
645
646
647#include "array_utilities_inc.F90"
648
649
650END MODULE vol7d_network_class
Check object presence.
Distruttore per la classe vol7d_network.
Costruttore per la classe vol7d_network.
return network object in a pretty string
Utilities for CHARACTER variables.
Definition of constants to be used for declaring variables of a desired type.
Definition: kinds.F90:251
Definitions of constants and functions for working with missing values.
Classe per la gestione delle reti di stazioni per osservazioni meteo e affini.
Definisce la rete a cui appartiene una stazione.

Generated with Doxygen.