667
683
684 class(TransportModelType) :: this
685 integer(I4B), intent(inout) :: indis
686
687 type(CharacterStringType), dimension(:), contiguous, &
688 pointer :: pkgtypes => null()
689 type(CharacterStringType), dimension(:), contiguous, &
690 pointer :: pkgnames => null()
691 type(CharacterStringType), dimension(:), contiguous, &
692 pointer :: mempaths => null()
693 integer(I4B), dimension(:), contiguous, &
694 pointer :: inunits => null()
695 character(len=LENMEMPATH) :: model_mempath
696 character(len=LENFTYPE) :: pkgtype
697 character(len=LENPACKAGENAME) :: pkgname
698 character(len=LENMEMPATH) :: mempath
699 integer(I4B), pointer :: inunit
700 integer(I4B) :: n
701 character(len=LENMEMPATH) :: mempathadv = ''
702 character(len=LENMEMPATH) :: mempathfmi = ''
703 character(len=LENMEMPATH) :: mempathic = ''
704 character(len=LENMEMPATH) :: mempathoc = ''
705 character(len=LENMEMPATH) :: mempathssm = ''
706
707
708 indis = 0
709
710
712
713
714 call mem_setptr(pkgtypes,
'PKGTYPES', model_mempath)
715 call mem_setptr(pkgnames,
'PKGNAMES', model_mempath)
716 call mem_setptr(mempaths,
'MEMPATHS', model_mempath)
717 call mem_setptr(inunits,
'INUNITS', model_mempath)
718
719 do n = 1, size(pkgtypes)
720
721
722 pkgtype = pkgtypes(n)
723 pkgname = pkgnames(n)
724 mempath = mempaths(n)
725 inunit => inunits(n)
726
727
728 select case (pkgtype)
729 case ('DIS6')
730 indis = 1
731 call dis_cr(this%dis, this%name, mempath, indis, this%iout)
732 case ('DISV6')
733 indis = 1
734 call disv_cr(this%dis, this%name, mempath, indis, this%iout)
735 case ('DISU6')
736 indis = 1
737 call disu_cr(this%dis, this%name, mempath, indis, this%iout)
738 case ('IC6')
739 this%inic = 1
740 mempathic = mempath
741 case ('FMI6')
742 this%infmi = 1
743 mempathfmi = mempath
744 case ('MVT6', 'MVE6')
745 this%inmvt = inunit
746 case ('ADV6')
747 this%inadv = 1
748 mempathadv = mempath
749 case ('SSM6')
750 this%inssm = 1
751 mempathssm = mempath
752 case ('OC6')
753 this%inoc = 1
754 mempathoc = mempath
755 case ('OBS6')
756 this%inobs = inunit
757 case default
758 end select
759 end do
760
761
762 call ic_cr(this%ic, this%name, mempathic, this%inic, this%iout, this%dis, &
763 this%depvartype)
764 call fmi_cr(this%fmi, this%name, mempathfmi, this%infmi, this%iout, &
765 this%eqnsclfac, this%depvartype)
766 call adv_cr(this%adv, this%name, mempathadv, this%inadv, this%iout, &
767 this%fmi, this%eqnsclfac)
768 call ssm_cr(this%ssm, this%name, mempathssm, this%inssm, this%iout, &
769 this%fmi, this%eqnsclfac, this%depvartype)
770 call mvt_cr(this%mvt, this%name, this%inmvt, this%iout, this%fmi, &
771 this%eqnsclfac, this%depvartype)
772 call oc_cr(this%oc, this%name, mempathoc, this%inoc, this%iout)
773 call tsp_obs_cr(this%obs, this%inobs, this%depvartype)
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
integer(i4b), parameter lenpackagename
maximum length of the package name
subroutine, public dis_cr(dis, name_model, input_mempath, inunit, iout)
Create a new structured discretization object.
subroutine, public disu_cr(dis, name_model, input_mempath, inunit, iout)
Create a new unstructured discretization object.
subroutine, public disv_cr(dis, name_model, input_mempath, inunit, iout)
Create a new discretization by vertices object.
character(len=lenmempath) function create_mem_path(component, subcomponent, context)
returns the path to the memory object
This module contains simulation variables.
character(len=linelength) idm_context
subroutine, public adv_cr(advobj, name_model, input_mempath, inunit, iout, fmi, eqnsclfac)
@ brief Create a new ADV object
subroutine, public fmi_cr(fmiobj, name_model, input_mempath, inunit, iout, eqnsclfac, depvartype)
Create a new FMI object.
subroutine, public ic_cr(ic, name_model, input_mempath, inunit, iout, dis, depvartype)
Create a new initial conditions object.
subroutine, public mvt_cr(mvt, name_model, inunit, iout, fmi1, eqnsclfac, depvartype, gwfmodelname1, gwfmodelname2, fmi2)
subroutine, public tsp_obs_cr(obs, inobs, dvt)
Create a new TspObsType object.
subroutine, public oc_cr(ocobj, name_model, input_mempath, inunit, iout)
@ brief Create TspOcType
This module contains the TspSsm Module.
subroutine, public ssm_cr(ssmobj, name_model, input_mempath, inunit, iout, fmi, eqnsclfac, depvartype)
@ brief Create a new SSM package
This class is used to store a single deferred-length character string. It was designed to work in an ...