32integer,
parameter :: network_name_len=20
39 character(len=network_name_len) :: name
43TYPE(vol7d_network),
PARAMETER :: vol7d_network_miss=
vol7d_network(cmiss)
49 MODULE PROCEDURE vol7d_network_init
55 MODULE PROCEDURE vol7d_network_delete
61INTERFACE OPERATOR (==)
62 MODULE PROCEDURE vol7d_network_eq
68INTERFACE OPERATOR (/=)
69 MODULE PROCEDURE vol7d_network_ne
76 MODULE PROCEDURE vol7d_network_gt
83 MODULE PROCEDURE vol7d_network_lt
89INTERFACE OPERATOR (>=)
90 MODULE PROCEDURE vol7d_network_ge
96INTERFACE OPERATOR (<=)
97 MODULE PROCEDURE vol7d_network_le
100#define VOL7D_POLY_TYPE TYPE(vol7d_network)
101#define VOL7D_POLY_TYPES _network
103#include "array_utilities_pre.F90"
107 MODULE PROCEDURE display_network
112 MODULE PROCEDURE c_e_network
117 MODULE PROCEDURE to_char_network
127FUNCTION vol7d_network_new(name)
RESULT(this)
128CHARACTER(len=*),
INTENT(in),
OPTIONAL :: name
130TYPE(vol7d_network) :: this
134END FUNCTION vol7d_network_new
140SUBROUTINE vol7d_network_init(this, name)
141TYPE(vol7d_network),
INTENT(INOUT) :: this
142CHARACTER(len=*),
INTENT(in),
OPTIONAL :: name
144IF (
PRESENT(name))
THEN
145 this%name = lowercase(name)
150END SUBROUTINE vol7d_network_init
154SUBROUTINE vol7d_network_delete(this)
155TYPE(vol7d_network),
INTENT(INOUT) :: this
159END SUBROUTINE vol7d_network_delete
162subroutine display_network(this)
164TYPE(vol7d_network),
INTENT(in) :: this
166print*,to_char_network(this)
168end subroutine display_network
171elemental function c_e_network(this)
result(res)
173TYPE(vol7d_network),
INTENT(in) :: this
176res = .not. this == vol7d_network_miss
178end function c_e_network
181elemental character(len=20) function to_char_network(this)
183TYPE(vol7d_network),
INTENT(in) :: this
185to_char_network=
"Network: "//trim(this%name)
189end function to_char_network
192ELEMENTAL FUNCTION vol7d_network_eq(this, that)
RESULT(res)
193TYPE(vol7d_network),
INTENT(IN) :: this, that
196res = (this%name == that%name)
198END FUNCTION vol7d_network_eq
201ELEMENTAL FUNCTION vol7d_network_ne(this, that)
RESULT(res)
202TYPE(vol7d_network),
INTENT(IN) :: this, that
205res = .NOT.(this == that)
207END FUNCTION vol7d_network_ne
210ELEMENTAL FUNCTION vol7d_network_gt(this, that)
RESULT(res)
211TYPE(vol7d_network),
INTENT(IN) :: this, that
214res = this%name > that%name
216END FUNCTION vol7d_network_gt
218ELEMENTAL FUNCTION vol7d_network_lt(this, that)
RESULT(res)
219TYPE(vol7d_network),
INTENT(IN) :: this, that
222res = this%name < that%name
224END FUNCTION vol7d_network_lt
227ELEMENTAL FUNCTION vol7d_network_ge(this, that)
RESULT(res)
231res = this%name >= that%name
233END FUNCTION vol7d_network_ge
235ELEMENTAL FUNCTION vol7d_network_le(this, that)
RESULT(res)
236TYPE(vol7d_network),
INTENT(IN) :: this, that
239res = this%name <= that%name
241END FUNCTION vol7d_network_le
244#include "array_utilities_inc.F90"
Distruttore per la classe vol7d_network.
Index method with sorted array.
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.
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.