My Project
Public Member Functions | List of all members
eqs_of_state::fofonoff_millard Interface Reference

Public Member Functions

subroutine fofonoff_millard_1d (MYS, MYT, MYP, PREF, MYRHO)
 
subroutine fofonoff_millard_2d (MYS, MYT, MYP, PREF, MYRHO)
 

Detailed Description

Definition at line 94 of file eqs_of_state.f90.

Member Function/Subroutine Documentation

◆ fofonoff_millard_1d()

subroutine eqs_of_state::fofonoff_millard::fofonoff_millard_1d ( real(sp), dimension(:), intent(in)  MYS,
real(sp), dimension(:), intent(in)  MYT,
real(sp), dimension(:), intent(in)  MYP,
real(sp), intent(in)  PREF,
real(sp), dimension(:), intent(inout)  MYRHO 
)

Definition at line 188 of file eqs_of_state.f90.

188 
189  !------------------------------------------------------------------------------|
190  IMPLICIT NONE
191  REAL(SP), INTENT(IN), DIMENSION(:) :: MYS,MYT,MYP
192  REAL(SP), INTENT(IN) :: PREF
193  REAL(SP), INTENT(INOUT), DIMENSION(:):: MYRHO
194  INTEGER :: I,K,ub1,lb1
195  REAL(SP) ::PT,SVA,SIGMA
196  !==============================================================================|
197 
198  ! SET DIMS USING MY S
199  lb1 = lbound(mys,1)
200  ub1 = ubound(mys,1)
201 
202  ! CHECK MY T
203  if(lb1 /= lbound(myt,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
204  if(ub1 /= ubound(myt,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
205 
206  ! CHECK MY P
207  if(lb1 /= lbound(myp,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
208  if(ub1 /= ubound(myp,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
209 
210  ! CHECK MY RHO
211  if(lb1 /= lbound(myrho,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
212  if(ub1 /= ubound(myrho,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
213 
214  DO k=lb1,ub1
215 
216  pt = theta(mys(k),myt(k),myp(k),pref)
217  sva = svan(mys(k),pt,myp(k),sigma)
218  myrho(k) = sigma*1.e-3_sp
219  END DO
220 
221  !----------------TRANSFORM TO FACE CENTER--------------------------------------
222 
subroutine fatal_error(ER1, ER2, ER3, ER4)
Definition: mod_utils.f90:230
Here is the call graph for this function:

◆ fofonoff_millard_2d()

subroutine eqs_of_state::fofonoff_millard::fofonoff_millard_2d ( real(sp), dimension(:,:), intent(in)  MYS,
real(sp), dimension(:,:), intent(in)  MYT,
real(sp), dimension(:,:), intent(in)  MYP,
real(sp), intent(in)  PREF,
real(sp), dimension(:,:), intent(inout)  MYRHO 
)

Definition at line 134 of file eqs_of_state.f90.

134 
135  !------------------------------------------------------------------------------|
136  IMPLICIT NONE
137  REAL(SP), INTENT(IN), DIMENSION(:,:) :: MYS,MYT,MYP
138  REAL(SP), INTENT(IN) :: PREF
139  REAL(SP), INTENT(INOUT), DIMENSION(:,:):: MYRHO
140  INTEGER :: I,K,ub1,lb1,ub2,lb2
141  REAL(SP) ::PT,SVA,SIGMA
142  !==============================================================================|
143 
144  ! SET DIMS USING MY S
145  lb1 = lbound(mys,1)
146  ub1 = ubound(mys,1)
147 
148  lb2 = lbound(mys,2)
149  ub2 = ubound(mys,2)
150 
151  ! CHECK MY T
152  if(lb1 /= lbound(myt,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
153  if(ub1 /= ubound(myt,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
154 
155  if(lb2 /= lbound(myt,2)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
156  if(ub2 /= ubound(myt,2)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
157 
158  ! CHECK MY P
159  if(lb1 /= lbound(myp,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
160  if(ub1 /= ubound(myp,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
161 
162  if(lb2 /= lbound(myp,2)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
163  if(ub2 /= ubound(myp,2)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
164 
165  ! CHECK MY RHO
166  if(lb1 /= lbound(myrho,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
167  if(ub1 /= ubound(myrho,1)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
168 
169  if(lb2 /= lbound(myrho,2)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
170  if(ub2 /= ubound(myrho,2)) CALL fatal_error("EQS_OF_STATE:: Dimension mismatch!")
171 
172 
173 
174  DO i=lb1,ub1
175  DO k=lb2,ub2
176 
177  pt = theta(mys(i,k),myt(i,k),myp(i,k),pref)
178  sva = svan(mys(i,k),pt,myp(i,k),sigma)
179  myrho(i,k) = sigma*1.e-3_sp
180  END DO
181  END DO
182 
183  !----------------TRANSFORM TO FACE CENTER--------------------------------------
184 
subroutine fatal_error(ER1, ER2, ER3, ER4)
Definition: mod_utils.f90:230
Here is the call graph for this function:

The documentation for this interface was generated from the following file: