THIS MODULE IS MEANT TO WORK WITH THE MUMPS 2D INTEGRATED SOLVER IF THE GRID IS 3D, OR A FIELD-RESOLVED SOLVER IF THE GRID IS 2D (MUMPS CAN'T HANDLE 3D VERY WELL).
NOTE THAT ONLY THE CURVILINEAR FUNCTION ARE UP TO DATE.
OVERLOAD THE SOLVERS FOR DEALING WITH THE CURVILINEAR MESHES NOTE WORKER SUBROUTINE DOES NOT NEED TO BE CHANGED/OVERLOADED
THIS IS A WRAPPER FUNCTION FOR THE ELECTRODYANMICS PART OF THE MODEL. BOTH THE ROOT AND WORKER PROCESSES CALL THIS SAME SUBROUTINE, WHEN THEN BRANCHES INTO DIFFERENT TASKS FOR EACH AFTER ALL COMPUTE CONDUCTIVITIES AND INERTIAL CAPACITANCE.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | it | |||
real(kind=wp), | intent(in) | :: | t | |||
real(kind=wp), | intent(in) | :: | dt | |||
real(kind=wp), | intent(in), | dimension(:,:,:,:) | :: | nn | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | vn2 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | vn3 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Tn | ||
real(kind=wp), | intent(in) | :: | sourcemlat | |||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | ns | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | Ts | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | vs1 | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | B1 | ||
real(kind=wp), | intent(inout), | dimension(-1:,-1:,-1:,:) | :: | vs2 | ||
real(kind=wp), | intent(inout), | dimension(-1:,-1:,-1:,:) | :: | vs3 | ||
type(curvmesh), | intent(in) | :: | x | |||
integer, | intent(in) | :: | potsolve | |||
integer, | intent(in) | :: | flagcap | |||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E1 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E2 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E3 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J1 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J2 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J3 | ||
real(kind=wp), | intent(inout), | dimension(:,:,:), allocatable | :: | Phiall | inout since it may not be allocated or deallocated in this procedure |
|
integer, | intent(in) | :: | flagE0file | |||
real(kind=wp), | intent(in) | :: | dtE0 | |||
character(len=*), | intent(in) | :: | E0dir | |||
integer, | intent(in), | dimension(3) | :: | ymd | ||
real(kind=wp), | intent(in) | :: | UTsec |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | it | |||
real(kind=wp), | intent(in) | :: | t | |||
real(kind=wp), | intent(in) | :: | dt | |||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | sig0 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | sigP | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | sigH | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | incap | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | vs2 | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | vs3 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | vn2 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | vn3 | ||
real(kind=wp), | intent(in) | :: | sourcemlat | |||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | B1 | ||
type(curvmesh), | intent(in) | :: | x | |||
integer, | intent(in) | :: | potsolve | |||
integer, | intent(in) | :: | flagcap | |||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E1 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E2 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E3 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J1 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J2 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J3 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | it | |||
real(kind=wp), | intent(in) | :: | t | |||
real(kind=wp), | intent(in) | :: | dt | |||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | sig0 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | sigP | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | sigH | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | incap | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | vs2 | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | vs3 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | vn2 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | vn3 | ||
real(kind=wp), | intent(in) | :: | sourcemlat | |||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | B1 | ||
type(curvmesh), | intent(in) | :: | x | |||
integer, | intent(in) | :: | potsolve | |||
integer, | intent(in) | :: | flagcap | |||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E1 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E2 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E3 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J1 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J2 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J3 | ||
real(kind=wp), | intent(inout), | dimension(:,:,:) | :: | Phiall | ||
integer, | intent(in) | :: | flagE0file | |||
real(kind=wp), | intent(in) | :: | dtE0 | |||
character(len=*), | intent(in) | :: | E0dir | |||
integer, | intent(in), | dimension(3) | :: | ymd | ||
real(kind=wp), | intent(in) | :: | UTsec |
THIS IS A WRAPPER FUNCTION FOR THE ELECTRODYANMICS PART OF THE MODEL. BOTH THE ROOT AND WORKER PROCESSES CALL THIS SAME SUBROUTINE, WHEN THEN BRANCHES INTO DIFFERENT TASKS FOR EACH AFTER ALL COMPUTE CONDUCTIVITIES AND INERTIAL CAPACITANCE.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | it | |||
real(kind=wp), | intent(in) | :: | t | |||
real(kind=wp), | intent(in) | :: | dt | |||
real(kind=wp), | intent(in), | dimension(:,:,:,:) | :: | nn | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | vn2 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | vn3 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Tn | ||
real(kind=wp), | intent(in) | :: | sourcemlat | |||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | ns | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | Ts | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:,:) | :: | vs1 | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | B1 | ||
real(kind=wp), | intent(inout), | dimension(-1:,-1:,-1:,:) | :: | vs2 | ||
real(kind=wp), | intent(inout), | dimension(-1:,-1:,-1:,:) | :: | vs3 | ||
type(curvmesh), | intent(in) | :: | x | |||
integer, | intent(in) | :: | potsolve | |||
integer, | intent(in) | :: | flagcap | |||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E1 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E2 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | E3 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J1 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J2 | ||
real(kind=wp), | intent(out), | dimension(:,:,:) | :: | J3 | ||
real(kind=wp), | intent(inout), | dimension(:,:,:), allocatable | :: | Phiall | inout since it may not be allocated or deallocated in this procedure |
|
integer, | intent(in) | :: | flagE0file | |||
real(kind=wp), | intent(in) | :: | dtE0 | |||
character(len=*), | intent(in) | :: | E0dir | |||
integer, | intent(in), | dimension(3) | :: | ymd | ||
real(kind=wp), | intent(in) | :: | UTsec |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(inout), | dimension(-1:,-1:,-1:) | :: | parmhalo | ||
integer, | intent(in) | :: | tagcurrent | |||
logical, | intent(in) | :: | flagper | |||
logical, | intent(in) | :: | flagdegrade |