Changeset 187 for branches/iLoveclim/SOURCES/furst_schoof_mod.f90
- Timestamp:
- 03/15/18 14:18:24 (6 years ago)
- Location:
- branches/iLoveclim
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/iLoveclim
- Property svn:mergeinfo changed
/trunk merged: 148,150,152-185
- Property svn:mergeinfo changed
-
branches/iLoveclim/SOURCES/furst_schoof_mod.f90
r123 r187 14 14 real,dimension(nx,ny) :: back_force_y 15 15 real, parameter :: m_weert = 1.0 ! afq: is this defined elsewhere in the model??? 16 real, parameter :: inv_mweert = 1./m_weert 16 17 17 18 contains … … 54 55 integer,dimension(nx,ny) :: countx, county ! how often do we modify ux/uy 55 56 real :: phi_prescr 56 real :: archim57 57 real :: toutpetit = 1e-6 58 58 real :: denom, prodscal 59 60 real :: bfx, bfy 59 61 60 62 !debug … … 102 104 xpos_tab(i,j)=xpos 103 105 Hglx_tab(i,j)=Hgl 104 106 107 ! afq: the back force is on the staggered grid, the GL can be either West or East to this point. 108 if (xpos .lt. -dx/2.) then 109 bfx = back_force_x(i,j) 110 else 111 bfx = back_force_x(i+1,j) 112 endif 105 113 if (gr_select.eq.1) then ! flux de Tsai 106 call flux_Tsai4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),b ack_force_x(i-1,j),phi_prescr)114 call flux_Tsai4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),bfx,phi_prescr) 107 115 else if (gr_select.eq.2) then ! flux de Schoof 108 116 ! afq: the dragging coef. is on the staggered grid, the GL can be either West or East to this point. … … 112 120 frot_coef = betamx(i+1,j) 113 121 endif 114 call flux_Schoof4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),m_weert,b ack_force_x(i-1,j),phi_prescr)122 call flux_Schoof4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),m_weert,bfx,phi_prescr) 115 123 else 116 124 print*,'ATTENTION FLUX AUTRE QUE TSAI OU SCHOOF NON IMPLEMENTE' … … 190 198 xpos_tab(i,j)=xpos 191 199 Hglx_tab(i,j)=Hgl 200 201 ! afq: the back force is on the staggered grid, the GL can be either West or East to this point. 202 if (xpos .lt. dx/2.) then 203 bfx = back_force_x(i,j) 204 else 205 bfx = back_force_x(i+1,j) 206 endif 192 207 if (gr_select.eq.1) then ! flux de Tsai 193 call flux_Tsai4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),b ack_force_x(i+1,j),phi_prescr)208 call flux_Tsai4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),bfx,phi_prescr) 194 209 else if (gr_select.eq.2) then ! flux de Schoof 195 210 ! afq: the dragging coef. is on the staggered grid, the GL can be either West or East to this point. 196 if (xpos .lt. -dx/2.) then211 if (xpos .lt. dx/2.) then 197 212 frot_coef = betamx(i,j) 198 213 else 199 214 frot_coef = betamx(i+1,j) 200 215 endif 201 call flux_Schoof4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),m_weert,b ack_force_x(i+1,j),phi_prescr)216 call flux_Schoof4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),m_weert,bfx,phi_prescr) 202 217 else 203 218 print*,'ATTENTION FLUX AUTRE QUE TSAI OU SCHOOF NON IMPLEMENTE' … … 205 220 endif 206 221 phi_prescr_tabx(i,j)=phi_prescr 207 if (xpos .lt. -dx/2.) then ! GL a west du i staggered, o centre, x stag222 if (xpos .lt. dx/2.) then ! GL a west du i staggered, o centre, x stag 208 223 209 224 ! grille ! .....x......o......x......o......x......O..G...x......o......x......o … … 274 289 ypos_tab(i,j)=ypos 275 290 Hgly_tab(i,j)=Hgl 291 292 ! afq: the back force is on the staggered grid, the GL can be either South or North to this point. 293 if (ypos .lt. -dy/2.) then 294 bfy = back_force_y(i,j) 295 else 296 bfy = back_force_y(i,j+1) 297 endif 276 298 if (gr_select.eq.1) then ! flux de Tsai 277 call flux_Tsai4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),b ack_force_y(i,j-1),phi_prescr)299 call flux_Tsai4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),bfy,phi_prescr) 278 300 else if (gr_select.eq.2) then ! flux de Schoof 279 301 ! afq: the dragging coef. is on the staggered grid, the GL can be either South or North to this point. … … 283 305 frot_coef = betamy(i,j+1) 284 306 endif 285 call flux_Schoof4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),m_weert,b ack_force_y(i,j-1),phi_prescr)307 call flux_Schoof4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),m_weert,bfy,phi_prescr) 286 308 else 287 309 print*,'ATTENTION FLUX AUTRE QUE TSAI OU SCHOOF NON IMPLEMENTE' … … 355 377 ypos_tab(i,j)=ypos 356 378 Hgly_tab(i,j)=Hgl 379 380 ! afq: the back force is on the staggered grid, the GL can be either South or North to this point. 381 if (ypos .lt. dy/2.) then 382 bfy = back_force_y(i,j) 383 else 384 bfy = back_force_y(i,j+1) 385 endif 357 386 if (gr_select.eq.1) then ! flux de Tsai 358 call flux_Tsai4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),b ack_force_y(i,j+1),phi_prescr)387 call flux_Tsai4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),bfy,phi_prescr) 359 388 else if (gr_select.eq.2) then ! flux de Schoof 360 389 ! afq: the dragging coef. is on the staggered grid, the GL can be either South or North to this point. 361 if (ypos .lt. -dy/2.) then390 if (ypos .lt. dy/2.) then 362 391 frot_coef = betamy(i,j) 363 392 else 364 393 frot_coef = betamy(i,j+1) 365 394 endif 366 call flux_Schoof4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),m_weert,b ack_force_y(i,j+1),phi_prescr)395 call flux_Schoof4Schoof (Hgl,Abar(i,j),frot_coef,alpha_flot,glen(1),m_weert,bfy,phi_prescr) 367 396 else 368 397 print*,'ATTENTION FLUX AUTRE QUE TSAI OU SCHOOF NON IMPLEMENTE' … … 370 399 endif 371 400 phi_prescr_taby(i,j)=phi_prescr 372 if (ypos .lt. -dy/2.) then ! GL au sud du j staggered, o centre, x stag401 if (ypos .lt. dy/2.) then ! GL au sud du j staggered, o centre, x stag 373 402 374 403 ! grille ! .....x......o......x......o......x......O..G...x......o......x......o … … 471 500 !!$ enddo 472 501 !!$ enddo 502 503 debug_3D(:,:,66) = phi_prescr_tabx(:,:) 504 debug_3D(:,:,67) = phi_prescr_taby(:,:) 505 473 506 end subroutine interpol_glflux 474 507 … … 561 594 ! afq: in standard GRISLI (19/05/17), tob= -beta ub => m_weert = 1 and C_frot = beta 562 595 563 564 phi_schoof = (((A_mean * rog**(n_glen+1) * (1 - alpha)**n_glen) / (4**n_glen *C_frot)) **(1./(1.+1./m_weert)))*back_force_coef 565 phi_schoof = phi_schoof * Hgl**((n_glen+3.+1/m_weert)/(1.+1./m_weert)) 596 !phi_schoof = (((A_mean * rog**(n_glen+1) * (1 - alpha)**n_glen) / (4**n_glen *C_frot)) **(1./(1.+1./m_weert)))*back_force_coef**(n_glen/(1+1./m_weert)) 597 !phi_schoof = phi_schoof * Hgl**((n_glen+3.+1/m_weert)/(1.+1./m_weert)) 598 phi_schoof = (((A_mean * rog**(n_glen+1.) * (1. - alpha)**n_glen) / (4.**n_glen*C_frot)) **(1./(1.+inv_mweert)))*back_force_coef**(n_glen/(1.+inv_mweert)) 599 phi_schoof = phi_schoof * Hgl**((n_glen+3.+inv_mweert)/(1.+inv_mweert)) 566 600 567 601 … … 590 624 591 625 592 phi_Tsai = Q0 * ((8 * A_mean * rog**(n_glen) * (1 - alpha)**(n_glen-1.)) / (4**n_glen *f_frot))*back_force_coef593 phi_Tsai = phi_Tsai * Hgl**(n_glen+2 )626 phi_Tsai = Q0 * ((8. * A_mean * rog**(n_glen) * (1. - alpha)**(n_glen-1.)) / (4.**n_glen *f_frot))*back_force_coef**(n_glen-1.) 627 phi_Tsai = phi_Tsai * Hgl**(n_glen+2.) 594 628 595 629 end subroutine flux_Tsai4Schoof
Note: See TracChangeset
for help on using the changeset viewer.