[MITgcm-support] Porting MITgcm to Solaris x64
Patrick Heimbach
heimbach at MIT.EDU
Wed May 30 17:26:28 EDT 2007
Bill,
you should not do step 7 i.e.
you should not comment out lines in SIZE.h
The fact that you had to comment out these lines
is that you were not using a SIZE.h customized to
your experiment, but instead ran into a "safety trap" compile failure
(reminding you that you need to use customized SIZE.h
rahter than default one in model/inc/)
You need to link the customized header from directory code/
So, after step 4. do this:
5. cd verification/exp2/build/
6. ../../../tools/genmake2 -of ../../../tools/build_options/
sunos_i86_f77 -mods ../code
7. make depend; make
8. ln -s ../input/* .
9. ./mitgcmuv > output.txt
For more, read manual, section 3.4 onward:
http://mitgcm.org/r2_web_testing/latest/online_documents/node94.html
-Patrick
On May 30, 2007, at 5:13 PM, william aiken wrote:
> Andrea,
>
> I commented out only these lines:
>
> c These lines are here to deliberately cause a compile-time error.
> c If you see these lines in your .F files or the compiler shows them
> c as an error then it means you have not placed your configuration
> c files in the appropriate place.
> c You need to place you own copy of SIZE.h in the include
> c path for the model, and comment out these lines.
>
> Attached is my SIZE.h file.
>
> Thanks,
>
> Bill
>
>
> Andrea Molod wrote On 05/30/07 17:03,:
>> hi bill,
>> your step 7 below seems to have commented out the line
>> in SIZE.h that tells the model how many levels, which in
>> the case of exp2 should be 20. i think if you 'uncomment'
>> this line (why did you comment it out?) it should see
>> that there should be 20 levels and continue along.
>> andrea
>>
>> On Wed, 30 May 2007, william aiken wrote:
>>
>>
>>> Hi,
>>>
>>> I am porting MITgcm to Solaris x64. I expect the 32 bit binaries
>>> will
>>> run on both AMD Opteron and Intel Woodcrest systems with Solaris 10.
>>>
>>> These are the steps that I have taken:
>>>
>>> 1. downloaded MITgcm_checkponts58.tar.gz
>>> 2. gunzipped and untarred the file.
>>> 3. mkdir tools/build_options
>>> 4. copied sunos_sun4u_f77 to sunos_i86_f77
>>> 5. cd verification/exp2/input
>>> 6. ran genmake2 and make depend
>>> 7. commented out lines in SIZE.h
>>> 8. make
>>> 9. ./mitgcmuv > output.txt yields 166 lines in
>>> output.txt (attached) and these 2 lines to
>>> the screen:
>>>
>>> S/R INI_PARMS: No value for delZ/delP/delR at K = 21
>>> STOP: ABNORMAL END: S/R INI_PARMS
>>>
>>> 10. I reviewed ../results/output.txt and it appears the next 2
>>> lines in
>>> output.txt should have been:
>>>
>>> (PID.TID 0000.0001) S/R INI_PARMS ; starts to read PARM05
>>> (PID.TID 0000.0001) S/R INI_PARMS ; read PARM05 : OK
>>>
>>> I noted that results/output.txt has different parameters than my
>>> run.
>>>
>>> It appears for my case that delZ has 20 elements, but mitgcm is
>>> trying
>>> to access the 21st element.
>>>
>>> Any suggestions on what this behavior signifies are greatly
>>> appreciated.
>>>
>>> Regards,
>>>
>>> Bill
>>>
>
> --
> William Aiken Sun Microsystems, Inc.
> Phone: 781.442.3312 Market Development Engineering
> FAX: 781.442.1678 One Network Drive UBUR01-204
> Burlington, Massachusetts 01803
>
> C $Header: /u/gcmpack/MITgcm/model/inc/SIZE.h,v 1.27 2005/09/19
> 18:42:35 baylor Exp $
> C $Name: $
>
> c These lines are here to deliberately cause a compile-time error.
> c If you see these lines in your .F files or the compiler shows them
> c as an error then it means you have not placed your configuration
> c files in the appropriate place.
> c You need to place you own copy of SIZE.h in the include
> c path for the model, and comment out these lines.
>
> C
> CBOP
> C !ROUTINE: SIZE.h
> C !INTERFACE:
> C include SIZE.h
> C !DESCRIPTION: \bv
> C *==========================================================*
> C | SIZE.h Declare size of underlying computational grid.
> C *==========================================================*
> C | The design here support a three-dimensional model grid
> C | with indices I,J and K. The three-dimensional domain
> C | is comprised of nPx*nSx blocks of size sNx along one axis
> C | nPy*nSy blocks of size sNy along another axis and one
> C | block of size Nz along the final axis.
> C | Blocks have overlap regions of size OLx and OLy along the
> C | dimensions that are subdivided.
> C *==========================================================*
> C \ev
> CEOP
> C Voodoo numbers controlling data layout.
> C sNx :: No. X points in sub-grid.
> C sNy :: No. Y points in sub-grid.
> C OLx :: Overlap extent in X.
> C OLy :: Overlat extent in Y.
> C nSx :: No. sub-grids in X.
> C nSy :: No. sub-grids in Y.
> C nPx :: No. of processes to use in X.
> C nPy :: No. of processes to use in Y.
> C Nx :: No. points in X for the total domain.
> C Ny :: No. points in Y for the total domain.
> C Nr :: No. points in Z for full process domain.
> INTEGER sNx
> INTEGER sNy
> INTEGER OLx
> INTEGER OLy
> INTEGER nSx
> INTEGER nSy
> INTEGER nPx
> INTEGER nPy
> INTEGER Nx
> INTEGER Ny
> INTEGER Nr
> PARAMETER (
> & sNx = 20,
> & sNy = 16,
> & OLx = 4,
> & OLy = 4,
> & nSx = 1,
> & nSy = 1,
> & nPx = 1,
> & nPy = 1,
> & Nx = sNx*nSx*nPx,
> & Ny = sNy*nSy*nPy,
> & Nr = 23)
>
> C MAX_OLX - Set to the maximum overlap region size of any array
> C MAX_OLY that will be exchanged. Controls the sizing of exch
> C routine buufers.
> INTEGER MAX_OLX
> INTEGER MAX_OLY
> PARAMETER ( MAX_OLX = OLx,
> & MAX_OLY = OLy )
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
---
Dr Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
MIT | EAPS, 54-1518 | 77 Massachusetts Ave | Cambridge, MA 02139, USA
FON: +1-617-253-5259 | FAX: +1-617-253-4464 | SKYPE: patrick.heimbach
More information about the MITgcm-support
mailing list