25 character(len=1),
allocatable :: fldnames(:)
29 #define LISTED_TYPE qg_vars 32 #include "oops/util/linkedList_i.f" 41 #include "oops/util/linkedList_c.f" 47 type(
qg_vars),
intent(inout) :: self
48 integer(c_int),
dimension(*),
intent(in) :: kvars
51 if (kvars(1)<1 .or. kvars(1)>5)
call abor1_ftn (
"qg_vars_create: error variables")
52 if (kvars(kvars(1)+2)/=999)
call abor1_ftn (
"qg_vars_create: error check")
59 if (kvars(ii)<1 .or. kvars(ii)>5)
call abor1_ftn (
"qg_vars_create: unknown index")
60 if (kvars(ii)==5)
then 67 allocate(self%fldnames(self%nv))
71 if (kvars(jj+1)/=5) ii=ii+1
72 if (kvars(jj+1)==1) self%fldnames(ii)=
"x" 73 if (kvars(jj+1)==2) self%fldnames(ii)=
"q" 74 if (kvars(jj+1)==3) self%fldnames(ii)=
"u" 75 if (kvars(jj+1)==4) self%fldnames(ii)=
"v" Fortran derived type to represent QG model variables.
subroutine, public qg_vars_create(self, kvars)
Linked list implementation.
Fortran module to handle variables for the QG model.
type(registry_t) qg_vars_registry
Linked list interface - defines registry_t type.