Date: Thu, 23 Feb 2006 11:47:23 -0400 (AST) From: Bonny Lee Subject: Sopale bug fix for pressure smoothing Hi Sopale users: There is a bug in SOPALE where the value of psmooth (which sets the pressure smoothing) does not have any effect -- pressure smoothing is not done, whether you have psmooth set to 1 or 0 in SOPALE1_i. I've checked and this bug seems to date back to the oldest version of Sopale that I have (around Nov 2000). Please note: this bug would not have affected any models where you had psmooth set to 0 in SOPALE1_i. I have fixed this bug in these versions of the code: code-oct26-05-extbeamtest-climateflag code-nov16-05-matsets code-nov24-05-matsets+ code-feb07-06-adiabat [fixed in source code only, as of now, since the executables SOPALE1.x and newSOPALE1.x for code-feb07-06-adiabat can't be updated while the executables are in use] To fix the bug in your own version of SOPALE, edit the file SOPALE1_mechanical_felib.f. Go to the subroutine rsmooth. In the MIDDLE of the subroutine there is a "return" statement followed by the comment: C C !! NOTE: the code below is not executed! C Comment out or remove that return statement and remove the comments about the code below not being executed. If you have any problems finding the place to fix the bug, just let me know and I'll help you out. Bonny ============================================================================ Date: Thu, 8 Jun 2006 15:00:56 -0300 (ADT) From: Bonny Lee Subject: Sopale pressure smoothing (psmooth) fix Hi folks, I have fixed the pressure smoothing in code-feb07-06-adiabat and code-mar01-06-pttpaths. For those of you who are using my versions of the code: the input variable psmooth (from SOPALE1_i) will now have an effect. If you want to duplicate the results you were getting from previous model runs (i.e. using executables from before today's date), just change psmooth to 0 in SOPALE1_i. If you are using your own versions of SOPALE and haven't fixed this bug yet, please make the fix to your own code as follows: (1) In SOPALE1_mechanical_felib.f, I have modified subroutine compute_stresses to add "psmooth" to the argument list: OLD version: subroutine compute_stresses(iformul, & nx,ny,x,y,vx,vy,c,t,dstrain, & viscos,epress, & dsmooth,bsmooth, & pcohes,maxcolors,bulkv, & redphi,nredphi, & matset_of ![mod BL 2005/11/21] NEW version: subroutine compute_stresses(iformul, & nx,ny,x,y,vx,vy,c,t,dstrain, & viscos,epress, & psmooth, dsmooth,bsmooth, ![mod BL 2006/06/08] & pcohes,maxcolors,bulkv, & redphi,nredphi, & matset_of ![mod BL 2005/11/21] Also, you need to add the declaration integer psmooth to subroutine compute_stresses. (2) In SOPALE1dmtm.f, modify the call to compute_stresses to include psmooth in its argument list. OLD: call compute_stresses(iformul, & nx,ny,x1,y1,vx1,vy1,color1,t1,dstrain1, & viscos,epress1, & dsmooth1,bsmooth1, & pcohes, maxcolors, bulkv, & redphi,nredphi, & matset_of ![mod BL 2005/11/21] NEW: call compute_stresses(iformul, & nx,ny,x1,y1,vx1,vy1,color1,t1,dstrain1, & viscos,epress1, & psmooth, dsmooth1,bsmooth1, ![mod BL 2006/06/08] & pcohes, maxcolors, bulkv, & redphi,nredphi, & matset_of ![mod BL 2005/11/21] I've got to run now, but I will modify the online user guide on Monday to explain that psmooth didn't work in some versions of SOPALE but has been fixed now. Bonny